Excel 2020: Doce beneficios de XLOOKUP - Consejos de Excel

Tabla de contenido

La nueva función XLOOKUP se implementará en Office 365 a partir de noviembre de 2019. Joe McDaid del equipo de Excel diseñó XLOOKUP para unificar a las personas que usan VLOOKUP y las personas que usan INDEX / MATCH. Esta sección discutirá los 12 beneficios de XLOOKUP:

  1. La coincidencia exacta es la predeterminada.
  2. El tercer argumento basado en números enteros de BUSCARV es ahora una referencia adecuada.
  3. IFNA está integrado para manejar valores perdidos.
  4. XLOOKUP no tiene problemas para ir hacia la izquierda.
  5. Encuentre la siguiente coincidencia más pequeña o más grande sin ordenar la tabla.
  6. XLOOKUP puede hacer HLOOKUP.
  7. Encuentra la última coincidencia buscando desde abajo.
  8. Los comodines están "desactivados" de forma predeterminada, pero puede volver a activarlos.
  9. Devuelve los 12 meses en una sola fórmula.
  10. Puede devolver una referencia de celda si XLOOKUP está al lado de dos puntos como XLOOKUP (); XLOOKUP ()
  11. Puede hacer una coincidencia bidireccional como INDEX (, MATCH, MATCH).
  12. Puede sumar todas las búsquedas en una sola fórmula como podría hacer BÚSQUEDA.

Aquí está la sintaxis: = XLOOKUP (Lookup_Value, Lookup_Array, Results_Array, (if_not_found), (match_mode), (search_mode)).

Beneficio 1 de XLOOKUP: Coincidencia exacta por defecto

El 99% de mis fórmulas VLOOKUP terminan en FALSE o 0 para indicar una coincidencia exacta. Si siempre usa la versión de coincidencia exacta de BUSCARV, puede comenzar a dejar el modo de coincidencia fuera de su función BUSCAR X.

En la siguiente figura, busca W25-6 desde la celda A4. Quiere buscar ese elemento en L8: L35. Cuando se encuentra, desea el precio correspondiente de la columna N. No es necesario especificar False como match_mode porque XLOOKUP tiene como valor predeterminado una coincidencia exacta.

XLOOKUP el valor en A4. Mire en L8: L35. Devuelve el precio correspondiente de N8: N35.

Beneficio 2 de XLOOKUP: el Results_Array es una referencia en lugar de un entero

Piense en la fórmula VLOOKUP que usaría antes de XLOOKUP. El tercer argumento habría sido un 3 para indicar que deseaba devolver la tercera columna. Siempre existía el peligro de que un compañero de trabajo despistado hubiera insertado (o eliminado) una columna en su tabla. Con una columna adicional en la tabla, VLOOKUP que había estado devolviendo un precio comenzaría a devolver una descripción. Debido a que XLOOKUP apuntaba a una referencia de celda, la fórmula se reescribe para seguir apuntando al precio que ahora está en la columna O.

La vieja BUSCARV fallaría si alguien insertara una nueva columna en la tabla de búsqueda. XLOOKUP sigue funcionando.

Beneficio 3 de XLOOKUP: IFNA está integrado como argumento opcional

El temido error # N / A se devuelve cuando su valor de búsqueda no se encuentra en la tabla. En el pasado, para reemplazar # N / A con otra cosa, tendría que usar IFERROR o IFNA envuelto alrededor de VLOOKUP.

Cuando no se encuentra un elemento, devuelve # N / A de VLOOKUP o XLOOKUP …

Gracias a una sugerencia de Rico en mi canal de YouTube, el equipo de Excel incorporó un cuarto argumento opcional para if_not_found. Si desea reemplazar esos errores # N / A con cero, simplemente agregue 0 como el cuarto argumento. O puede utilizar algún texto, como "Valor no encontrado".

El cuarto argumento opcional en XLOOKUP es "si no se encuentra". Ponga un 0 o "No encontrado" allí.

Beneficio 4 de XLOOKUP: No hay problema para mirar a la izquierda del campo clave

VLOOKUP no puede mirar hacia la izquierda del campo clave sin recurrir a VLOOKUP (A4, CHOOSE ((1,2), G7: G34, F7: F34), 2, False). Con XLOOKUP, no hay problema para tener el Results_array a la izquierda de Lookup_array.

Con XLOOKUP, no hay ningún problema para devolver la categoría de la columna F mientras busca los números de pieza en la columna G. Esta fue siempre la debilidad de VLOOKUP: no podía mirar hacia la izquierda.

Beneficio 5 de XLOOKUP: siguiente coincidencia más pequeña o siguiente más grande sin clasificar

VLOOKUP tenía una opción para buscar la coincidencia exacta o simplemente un valor menor. Puede dejar el cuarto argumento fuera de BUSCARV o cambiar Falso a Verdadero. Para que esto funcione, la tabla de búsqueda debe ordenarse en secuencia ascendente.

Un ejemplo de la versión Approximate Match de BUSCARV. Cualquier venta de 10 mil a 20 mil obtiene un bono de $ 12.

Pero BUSCARV no tenía la capacidad de devolver la coincidencia exacta o el siguiente elemento más grande. Para eso, tenía que cambiar al uso de MATCH con un -1 como match_mode y tenía que tener cuidado de que la tabla de búsqueda se ordenara de forma descendente.

El quinto argumento opcional de XLOOKUP match_mode puede buscar solo la coincidencia exacta, igual o simplemente menor, igual o simplemente mayor. Tenga en cuenta que los valores en XLOOKUP tienen más sentido que en MATCH:

  • -1 encuentra el valor igual o menor
  • 0 encuentra una coincidencia exacta
  • 1 encuentra el valor igual o simplemente mayor.

Pero, la parte más sorprendente: la tabla de búsqueda no tiene que ser ordenada y cualquier match_mode funcionará.

A continuación, un match_mode de -1 encuentra el siguiente elemento más pequeño.

El quinto argumento de XLOOKUP es Match_Mode. 0 es para coincidencia exacta. El negativo se utiliza para Coincidencia exacta o Siguiente elemento más pequeño. El 1 positivo es para una coincidencia exacta o el siguiente elemento más grande. 2 es para Wildcard Match. Para reflejar lo que haría VLOOKUP con True en el cuarto argumento, coloque uno negativo como argumento match_mode en XLOOKUP.

Aquí, un match_mode de 1, encuentra qué vehículo se necesita dependiendo del número de personas en el grupo. Tenga en cuenta que la tabla de búsqueda no está ordenada por pasajeros y que el nombre del vehículo está a la izquierda de la clave.

XLOOKUP puede hacer algo que VLOOKUP no pudo hacer: encontrar la coincidencia exacta o simplemente más grande. En este caso, una empresa de viajes tiene una lista de reservas. Según la cantidad de pasajeros, la tabla de búsqueda muestra qué vehículo necesita para esas personas.

La mesa dice:

  • El autobús tiene capacidad para 64 personas
  • Coche tiene capacidad para 4 personas
  • La motocicleta tiene capacidad para 1 persona
  • Tour Van tiene capacidad para 12 personas
  • Furgoneta para 6 personas.

Como beneficio adicional, los datos están ordenados por Vehículo (en la solución anterior, usando MATCH, la tabla tendría que ordenarse de forma descendente por Capacidad. Además: el Vehículo está a la izquierda de Capacidad.

Beneficio 6 de XLOOKUP: XLOOKUP de lado reemplaza HLOOKUP

Lookup_array y results_array pueden ser horizontales con XLOOKUP, lo que simplifica la sustitución de HLOOKUP.

Aquí la tabla de búsqueda es horizontal. En el pasado, esto requería HLOOKUP, pero XLOOKUP puede lidiar con una tabla que va de lado.

Beneficio 7 de XLOOKUP: busque desde la parte inferior la última coincidencia

Tengo un video antiguo en YouTube que responde a una pregunta de una granja de caballos británica. Tenían una flota de vehículos. Cada vez que un vehículo entraba por combustible o servicio, registraban el vehículo, la fecha y el kilometraje en una hoja de cálculo. Querían encontrar el último kilometraje conocido de cada vehículo. Si bien los MAXIFS de la era de Excel-2017 podrían resolver esto hoy, la solución hace muchos años era una fórmula arcana que usaba BUSCAR e involucraba división por cero.

Hoy, el sexto argumento opcional de XLOOKUP le permite especificar que la búsqueda debe comenzar desde la parte inferior del conjunto de datos.

Encuentra la última coincidencia en la lista.

Nota

Si bien esta es una gran mejora, solo le permite encontrar la primera o la última coincidencia. Algunas personas esperaban que esto le permitiera encontrar la segunda o tercera coincidencia, pero esa no es la intención del argumento search_mode.

Precaución

La figura anterior muestra que existen modos de búsqueda que utilizan la antigua búsqueda binaria. Joe McDaid desaconseja su uso. Primero, el algoritmo de búsqueda mejorado de 2018 es lo suficientemente rápido como para que no haya un beneficio de velocidad significativo. En segundo lugar, corre el riesgo de que un compañero de trabajo despistado clasifique la tabla de búsqueda e introduzca respuestas incorrectas.

Beneficio 8 de XLOOKUP: los comodines están "desactivados" de forma predeterminada

La mayoría de la gente no se dio cuenta de que BUSCARV trata el asterisco, el signo de interrogación y la tilde como caracteres comodín como se describe en "# 51 Usar un comodín en BUSCARV" en la página 143. Con BUSCARX, los comodines están desactivados de forma predeterminada. Si desea que XLOOKUP trate estos caracteres como comodines, use 2 como Match_Mode.

Muy pocas personas se dieron cuenta de que BUSCARV trata los asteriscos en el valor de búsqueda como comodines. De forma predeterminada, XLOOKUP no usa comodines, pero puede forzarlo a comportarse como VLOOKUP si usa un Modo de coincidencia de 2: Coincidencia de caracteres comodín.

Beneficio 9 de XLOOKUP: ¡Devuelva los 12 meses en una sola fórmula!

Este es realmente un beneficio de Dynamic Arrays, pero es mi razón favorita para amar XLOOKUP. Cuando tenga que devolver los 12 meses en una búsqueda, una sola fórmula ingresada en B6 con un return_array rectangular devolverá múltiples resultados. Esos resultados se extenderán a las celdas adyacentes.

En la siguiente figura, una sola fórmula ingresada en B7 devuelve las 12 respuestas que se muestran en B7: M7.

Una sola XLOOKUP en la columna de enero devuelve números de enero a diciembre. Esto se hace especificando un results_array con 12 columnas.

Beneficio 10 de XLOOKUP: puede devolver una referencia de celda si está adyacente a dos puntos

Este es complejo pero hermoso. En el pasado, había siete funciones que cambiaban de devolver un valor de celda a devolver una referencia de celda si la función tocaba dos puntos. Para ver un ejemplo, consulte Use A2: INDEX () como OFFSET no volátil. XLOOKUP es la función de ocho para ofrecer este comportamiento, uniendo CHOOSE, IF, IFS, INDEX, INDIRECT, OFFSET y SWITCH.

Considere la siguiente figura. Alguien seleccione Cherry en E4 y Fig en E5. Quieres una fórmula que sume todo, desde B6 hasta B9.

La figura muestra dos fórmulas XLOOKUP en dos celdas. El primero devuelve 15 de la celda B6. El segundo recupera 30 de B9. Pero luego, en una tercera celda, hay una fórmula que une las dos fórmulas XLOOKUP con dos puntos y luego las envuelve en una función SUM. El resultado es la SUMA de B6: B9, porque XLOOKUP puede devolver una referencia de celda si la función aparece junto a un operador como dos puntos. Para demostrar que esto está funcionando, las siguientes figuras mostrarán esta fórmula en el cuadro de diálogo Evaluar fórmula.

En la figura anterior, puede ver que una XLOOKUP de E4 devolverá el 15 de la celda B6. Una XLOOKUP de E5 devolverá el 30 de B9. Sin embargo, si toma las dos funciones XLOOKUP de las celdas D9 y D10 y las junta con dos puntos en el medio, el comportamiento de XLOOKUP cambia. En lugar de devolver 15, el primer XLOOKUP devuelve la dirección de celda B6.

Para probar esto, seleccioné D7 y uso Fórmulas, Evaluar fórmula. Después de presionar Evaluar dos veces, la siguiente parte a calcular es XLOOKUP ("Cherry", A4: A29, B4: B29), como se muestra aquí.

Esto muestra el cuadro de diálogo Evaluar fórmula justo antes de evaluar el primer XLOOKUP. Esta XLOOKUP aparece justo antes de dos puntos.

Presione Evaluar nuevamente y sorprendentemente, la fórmula XLOOKUP devuelve $ B $ 6 en lugar de los 15 almacenados en B6. Esto sucede porque hay dos puntos inmediatamente después de esta fórmula de XLOOKUP.

Haga clic en Evaluar y el primer XLOOKUP devuelve $ B $ 6 en lugar de 15.

Presione Evaluar dos veces más y la fórmula intermedia será = SUMA (B6: B9).

Después de evaluar el segundo XLOOKUP, la fórmula intermedia es = SUM (B6: B9).

Este es un comportamiento asombroso que la mayoría de la gente no conoce. El MVP de Excel, Charles Williams, me dice que se puede activar con cualquiera de estos tres operadores junto a XLOOKUP:

  • Colon
  • Espacio (operador de intersección)
  • Coma (operador de la Unión)

Beneficio 11 de XLOOKUP: coincidencia bidireccional como INDICE (, MATCH, MATCH)

Para todos mis amigos de VLOOKUP, la gente de INDEX / MATCH ha estado esperando para ver si XLOOKUP puede manejar una coincidencia de dos vías. La gran noticia: puede hacerlo. La mala noticia: la metodología es un poco diferente de lo que esperarían los fanáticos de INDEX / MATCH. Podría estar un poco por encima de sus cabezas. Pero estoy seguro de que pueden adoptar este método.

Para una coincidencia bidireccional, desea encontrar qué fila contiene el número de cuenta A621 que se muestra en J3. Entonces, XLOOKUP comienza bastante fácil: = XLOOKUP (J3, A5: A15. Pero luego debe proporcionar un results_array. Puede usar el mismo truco que en XLOOKUP Benefit 9: Devolver los 12 meses en una sola fórmula anterior, pero utilícelo para devolver un vector vertical. Un XLOOKUP interno busca el mes J4 en los encabezados de mes en B4: G4. El return_array se especifica como B5: G15. El resultado es que el XLOOKUP interno devuelve un arreglo como el que se muestra en I10 : I20 a continuación. Dado que A621 se encuentra en la quinta celda de la matriz_buscada y 104 se encuentra en la quinta celda de la matriz_resultados, obtiene la respuesta correcta de la fórmula. A continuación, J6 muestra la forma anterior. J7 devuelve la nueva forma.

XLookup J3 en la lista de cuentas en A5: A15. Para la matriz de resultados, use XLOOKUP (J4, B4: G4, B5: G15). En esta fórmula, B4: G4 es una lista de meses. B5: G15 es la matriz rectangular de valores para todas las cuentas para todos los meses. En otra celda, solo el XLOOKUP interno muestra cómo devuelve toda la columna de valores de mayo.

Beneficio 12 de XLOOKUP: sume todos los valores de búsqueda en una sola fórmula

La antigua función BÚSQUEDA ofrecía dos trucos extraños. Primero, si está tratando de calcular la cantidad total de gastos de bonificación que se acumularán, puede solicitar a LOOKUP que busque todos los valores en una sola fórmula. En la imagen de abajo, BÚSQUEDA (C4: C14 está realizando 11 búsquedas. Pero la función BÚSQUEDA no ofrecía una coincidencia exacta y requería que se ordenara la tabla de búsqueda.

Busque 13 valores y súmelos. Esto solía funcionar con LOOKUP, pero también funciona con XLOOKUP. Especifique todos los valores de búsqueda C4: C14 como primer argumento. Envuelva XLOOKUP en una función SUM.

Con XLOOKUP, puede especificar un rango como lookup_value y XLOOKUP devolverá todas las respuestas. El beneficio es que XLOOKUP puede hacer coincidencias exactas.

El truco de usar LOOKUP para sumar todos los resultados de la búsqueda solo funcionó con la versión de búsqueda aproximada. Aquí, XLOOKUP está haciendo una coincidencia exacta en todos los nombres en L4: L14 y obtiene un total de todos los resultados.

Consejo adicional: ¿Qué tal una BÚSQUEDA retorcida?

El MVP de Excel, Mike Girvin, a menudo muestra un truco de la función LOOKUP donde el Lookup_Vector es vertical y el Result_Vector es horizontal. XLOOKUP no admitirá este truco de forma nativa. Pero, si hace un poco de trampa y envuelve el results_array en la función TRANSPOSE, puede administrar una búsqueda retorcida.

Aquí, la matriz de búsqueda es vertical y la matriz de resultados es horizontal. La antigua función LOOKUP puede manejar esto, pero para hacerlo con XLOOKUP, debe envolver cualquiera de las matrices en TRANSPOSE.

Articulos interesantes...