XLOOKUP vs INDEX-MATCH en Excel (Todas las comparaciones posibles)

  • Compartir Este
Hugh West

Hoy haré un análisis comparativo de el XLOOKUP vs Funciones INDEX-MATCH en Excel En las versiones anteriores de Excel solíamos utilizar el HLOOKUP El VLOOKUP y el INDEX-MATCH para buscar un valor específico en un rango de celdas. Sin embargo, con la aparición de las funciones Oficina 365 Excel nos ha proporcionado una nueva y dinámica función llamada XLOOKUP para realizar una operación similar de forma más sofisticada. En este artículo, intentaré comparar las funciones más utilizadas, el XLOOKUP y el INDEX-MATCH .

Descargar el cuaderno de prácticas

Obtenga este archivo de ejemplo para comprenderlo mejor.

Funciones XLOOKUP vs INDEX-MATCH.xlsx

Introducción a la función XLOOKUP

En XLOOKUP se utiliza para buscar un valor específico dentro de un rango de celdas o una matriz. A continuación, devuelve la primera coincidencia correspondiente. También muestra la coincidencia más cercana o aproximada cuando no hay coincidencia exacta.

Sintaxis:

=XLOOKUP(valor_de_busqueda,matriz_de_busqueda,matriz_de_retorno,[si_no_se_encuentra],[modo_partido],[modo_busqueda])

Argumentos:

  • Valor_buscado : Es el valor que buscamos en una columna concreta del rango.
  • Matriz_de_busqueda : Es el array en el que estamos buscando el buscar_valor Puede ser tanto de fila como de columna.
  • Matriz_de_devolución: Es la columna de la que procede el valor correspondiente del buscar_valor será devuelto.

Argumentos opcionales:

  • Si_no_se_encuentra : Es el valor que se devolverá en caso de que el matriz_de_busqueda no tiene el lookup_value.
  • Modo_partido : Es un número que denota el tipo de coincidencia del buscar_valor Este argumento es opcional y puede contener cuatro valores.
  1. Cuando es 0 , XLOOKUP buscará una coincidencia exacta (Predeterminado).
  2. Cuando es 1 , XLOOKUP buscará primero una coincidencia exacta. Si no encuentra una coincidencia exacta, buscará el siguiente valor más pequeño.
  3. Cuando es -1 , XLOOKUP buscará primero una coincidencia exacta. Si no encuentra una coincidencia exacta, buscará el siguiente valor mayor.
  4. Cuando es 2 , XLOOKUP buscará primero una coincidencia aproximada utilizando comodines (aplicable sólo para valores de búsqueda de cadena).
  • Modo_búsqueda : Es un número que denota el tipo de operación de búsqueda realizada en la matriz lookup_array. También es opcional y puede tener cuatro valores:
  1. Si es 1 , XLOOKUP buscará de arriba a abajo en el matriz_de_busqueda (Por defecto).
  2. Cuando -1 , XLOOKUP buscará de abajo a arriba en el
  3. Si es 2 , XLOOKUP realizará una búsqueda binaria en orden ascendente.
  4. Cuando -2 , XLOOKUP realizará una búsqueda binaria en orden descendente.

Introducción a las funciones INDEX-MATCH

La combinación del INDEX-MATCH se utiliza para obtener un valor de una ubicación determinada y compararlo con el rango de origen.

Sintaxis:

=INDEX(matriz,MATCH(valor_buscado,matriz_buscada,tipo_partido),no_de_columna)

Argumentos:

Para la función ÍNDICE:

  • Matriz : Es un rango de celdas del que queremos extraer un valor.
  • MATCH(valor_buscado,matriz_buscada,tipo_partido): Es el número de fila del intervalo en el que el buscar_valor coincide con un valor específico del matriz_de_busqueda .
  • No_de_columna: Es el número de la columna de la matriz de la que queremos devolver un valor correspondiente a la variable buscar_valor .

Para la función MATCH:

  • Buscar_valor: Es el valor lo que buscamos.
  • Lookup_array: Es el array en el que buscamos el buscar_valor Puede ser tanto una fila como una columna.
  • Tipo_partido: Es un número entero que denota el tipo de coincidencia que estamos buscando. Es opcional.
  1. Cuando es -1 , MATCH buscará primero una coincidencia exacta. En caso de que no se encuentre una coincidencia exacta, buscará el siguiente valor más grande (Predeterminado) (al contrario de XLOOKUP ).

Pero la condición es que el matriz_de_busqueda debe estar ordenado de forma ascendente. De lo contrario, mostrará un error.

  1. Cuando es 1 , MATCH también buscará primero una coincidencia exacta. En caso de que no se encuentre una coincidencia exacta, buscará el siguiente valor más pequeño (al contrario de XLOOKUP ).

Pero la condición es que el matriz_de_busqueda debe ordenarse esta vez en orden descendente. De lo contrario, mostrará un error.

  1. Cuando es 0 , MATCH buscará una coincidencia exacta.

Más información: Cómo seleccionar datos específicos en Excel (6 métodos)

7 Comparaciones entre los usos de las funciones XLOOKUP e INDEX-MATCH

Ahora que hemos desglosado la fórmula, vamos a discutir algunas similitudes y desemejanzas entre las dos funciones. Antes de pasar a las discusiones principales, muestro los puntos principales en una tabla para su conveniencia.

Punto de debate Similitud/Disimilitud Explicación
Columna lookup_array Similitud Ambos admiten una columna como lookup_array.
Fila lookup_array Similitud Ambos admiten una fila como lookup_array.
No coincidencia de lookup_value Disimilitud XLOOKUP tiene la opción de configuración por defecto para no coincidencia del lookup_value. Pero el INDEX-MATCH no tiene.
Coincidencia aproximada Similitud parcial XLOOKUP puede encontrar el siguiente valor menor o el siguiente valor mayor cuando no hay una coincidencia exacta. INDEX-MATCH también puede hacerlo, pero la matriz lookup_array tiene que estar ordenada en orden ascendente o descendente.
Comodines coincidentes Similitud Ambos admiten comodines coincidentes.
Coincidencia de valores múltiples Similitud parcial XLOOKUP puede averiguar el primer o el último valor cuando coinciden varios valores, pero INDEX-MATCH sólo puede devolver el primer valor que coincida.
Fórmula Array Similitud Ambos admiten la fórmula de matriz.

1. XLOOKUP e INDEX-MATCH para buscar el valor en la columna

Existe una similitud entre ambas funciones en este aspecto. Para el XLOOKUP y el INDEX-MATCH el lookup_array puede ser una columna para ambas funciones. Aquí buscamos exactamente el Notas en Física del nombre del alumno en C ell F5 , Jennifer Marlo Queríamos buscar de arriba a abajo en el Nombre del alumno y devuelve " No se ha encontrado " en caso de que no se encuentre ninguna coincidencia.

  • Para XLOOKUP aplique la fórmula de Célula G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Para INDEX-MATCH utilice esta fórmula en Célula G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

Más información: Cómo Hacer Coincidir Múltiples Criterios de Diferentes Matrices en Excel

2. XLOOKUP e INDEX-MATCH para buscar el valor en la fila

También en este aspecto existe una similitud entre ambas funciones. Para el XLOOKUP y el INDEX-MATCH El matriz_de_busqueda también puede ser una fila para ambas funciones. A modo de ilustración, tenemos un nuevo conjunto de datos con la función Identificaciones , Nombres y Notas en Física y Grados .

Consideremos por un momento que se trata de un conjunto de datos muy amplio, y que no sabemos cuál es el número de los Grado Entonces, para averiguar la nota de un alumno en particular, tenemos que utilizar la columna Línea de encabezamiento (B4:E4) como lookup_array y la palabra " Grado " como el buscar_valor Podemos lograrlo utilizando tanto el XLOOKUP y el INDEX-MATCH .

  • Para conocer el grado del 3er alumno El XLOOKUP será así en Célula G5 .
=XLOOKUP("Grado",B4:E4,B7:E7, "No encontrado",0,1)

  • En este caso, el INDEX-MATCH fórmula será:
=INDEX(B5:E16,3,MATCH("Grado",B4:E4,0))

3. XLOOKUP e INDEX-MATCH cuando no se encuentra ninguna coincidencia

Las dos funciones son diferentes en este aspecto. Si lookup_value no coincide con ningún valor del archivo matriz_de_busqueda puede establecer un valor fijo que se devolverá en XLOOKUP Para ello, debe establecer ese valor en el campo if_not_found En cambio, no existe esta opción en INDEX-MATCH Devolverá un error. Tiene que utilizar la función IFERROR fuera para tratar el error. En el conjunto de datos dado, averiguaremos el Nombre del estudiante con el ID 100 .

  • Para ello, utilice lo siguiente XLOOKUP fórmula en Célula G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • Por otro lado, aplique este INDEX-MATCH fórmula.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Como devuelve un error, hay que utilizar un IFERROR para gestionar este error.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "No encontrado")

Lecturas similares

  • Excel INDEX MATCH para devolver múltiples valores en una celda
  • Excel INDEX-MATCH Fórmula para Devolver Múltiples Valores Horizontalmente
  • Cómo utilizar la fórmula INDEX-MATCH en Excel para generar múltiples resultados
  • [Corregido!] INDEX MATCH no devuelve el valor correcto en Excel (5 razones)
  • Cómo utilizar INDEX MATCH en lugar de VLOOKUP en Excel (3 maneras)

4. XLOOKUP e INDEX-MATCH en caso de coincidencias aproximadas

Existe una similitud parcial entre las dos funciones en este aspecto. En el XLOOKUP si la función buscar_valor no coincide con ningún valor de matriz_de_busqueda puede modificar la fórmula para que devuelva el siguiente valor menor o el siguiente valor mayor. Establezca el argumento tipo_partido a -1 si quieres el siguiente valor más pequeño y ponlo en 1 si desea el siguiente valor mayor.

Por ejemplo, averiguaremos el alumno con una nota de 50 o la siguiente marca más grande.

  • Para hallar el valor, aplique lo siguiente XLOOKUP fórmula.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • Como puede ver, no hay ningún estudiante con una nota de 50 Es por eso que está mostrando el inmediatamente después de 50 , 51 por Desmond Hayes .

Existe la misma opción en el INDEX-MATCH Pero el inconveniente es que tienes que ordenar el lookup_array en orden descendente si quieres el siguiente valor más grande. De lo contrario, devolverá un error. Y para obtener el siguiente valor más pequeño, tienes que ordenar en orden ascendente.

  • En primer lugar, inserte esta fórmula en Célula G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • Como resultado, verá que el resultado muestra un #N/A error.
  • Por lo tanto, ordene el Rango de celdas D5:D16 en orden ascendente y obtendrá el valor correcto.

Nota especial: En el XLOOKUP función, -1 funciona para el siguiente valor más pequeño, pero en INDEX-MATCH , -1 funciona para el siguiente valor mayor. De forma similar en el XLOOKUP 1 funciona para el siguiente valor mayor, pero en INDEX-MATCH, 1 funciona para el siguiente valor más pequeño.

Más información: Cómo utilizar INDEX y Match para coincidencias parciales (2 formas)

5. XLOOKUP e INDEX-MATCH en caso de coincidencia de comodines

Existe una similitud entre ambas funciones en este aspecto. El XLOOKUP y el INDEX-MATCH ambos apoyan Comodines Aquí, encontraremos a cualquier estudiante con " Marlo " como segundo nombre. Sigamos los siguientes pasos para ver XLOOKUP vs INDEX-MATCH comparación.

  • En primer lugar, aplique este XLOOKUP fórmula en Célula G5 para obtener la salida.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Nota: Para utilizar comodines en XLOOKUP tiene que fijar el tipo_partido argumento para 2 De lo contrario, no funcionará.

  • Por otra parte, el INDEX-MATCH fórmula para realizar la misma tarea será así.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Más información: INDEX MATCH Criterios Múltiples con Comodín en Excel (Una Guía Completa)

6. XLOOKUP e INDEX-MATCH cuando varios valores coinciden con el valor de búsqueda

Este ejemplo muestra XLOOKUP vs INDEX-MATCH cuando varios valores coinciden con el valor de búsqueda. También existe una similitud parcial entre ambas funciones a este respecto. La función XLOOKUP y el INDEX-MATCH sólo devuelven un valor en caso de que haya varios valores en el campo matriz_de_busqueda coincide con el buscar_valor Pero en el XLOOKUP puede modificar la búsqueda para obtener la primera o la última coincidencia. Para obtener el primer valor que coincida, defina la función tipo_búsqueda argumento para 1 Y para obtener el último valor que coincida, establezca el parámetro tipo_búsqueda argumento para -1 Pero en INDEX-MATCH no tienes elección. Obtendrás sólo el primer valor que coincida.

  • Para que el primer estudiante que consiguió 100 puede utilizar lo siguiente XLOOKUP fórmula en Célula G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Junto con él, obtendrá el último estudiante con 100 utilizando este XLOOKUP fórmula.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Por el contrario, sólo obtendrá el primer valor que coincida con este INDEX-MATCH fórmula.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP e INDEX-MATCH en caso de múltiples valores de búsqueda

En este ejemplo, demostraremos XLOOKUP vs INDEX-MATCH en caso de múltiples valores de búsqueda. Existe una similitud entre las dos funciones a este respecto. Ambas permiten múltiples buscar_valores (Fórmula Array).

  • Para el XLOOKUP funcionará la siguiente fórmula.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Entonces, para INDEX-MATCH la siguiente función también funcionará.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Ventajas y desventajas de la función XLOOKUP

Hay ciertas ventajas y desventajas de utilizar el XLOOKUP Veámoslos brevemente.

Ventajas

  • Establezca un valor por defecto para los casos sin coincidencia.
  • Puede buscar coincidencias aproximadas sin ordenar las matriz_de_busqueda .
  • Tener acceso a la búsqueda tanto desde la primera celda como desde la última celda del matriz_de_busqueda .

Desventajas

  • Funciona más lentamente que el INDEX-MATCH función.
  • Disponible en Office 365 sólo.

Ventajas y desventajas de las funciones INDEX-MATCH

En INDEX-MATCH funciones también tienen algunos de los siguientes pros y contras.

Ventajas

  • Funciona más rápido que el XLOOKUP función.
  • Disponible en la antigua Excel versiones.

Desventajas

  • No se pueden gestionar los errores cuando no se encuentra ninguna coincidencia.
  • Necesita el matriz_de_busqueda para buscar coincidencias aproximadas.
  • Devuelve sólo el primer valor cuando varios valores coinciden con la variable buscar_valor .

Conclusión

Por último, llegamos al final de nuestro largo artículo. Aquí hemos intentado crear un análisis comparativo de las XLOOKUP frente al INDEX-MATCH Háganos llegar sus sugerencias al respecto. Siga leyendo ExcelWIKI para ver más tutoriales.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.