XLOOKUP vs INDEX-MATCH en Excel (todas as comparacións posibles)

  • Comparte Isto
Hugh West

Hoxe farei unha análise comparativa das as funcións XLOOKUP vs INDEX-MATCH en Excel . Nas versións anteriores de Excel , adoitabamos utilizar as funcións HLOOKUP , VLOOKUP e INDEX-MATCH para buscar un valor específico nun intervalo de celas. Non obstante, coa aparición de Office 365 , Excel proporcionounos unha función nova e dinámica chamada función XLOOKUP para realizar unha operación similar de forma máis sofisticada. Neste artigo, tentarei comparar as funcións amplamente utilizadas, o XLOOKUP e o INDEX-MATCH .

Descargar o libro de prácticas

Obtén este ficheiro de mostra para entendelo mellor.

XLOOKUP vs INDEX-MATCH Functions.xlsx

Introdución á función XLOOKUP

A función XLOOKUP úsase para atopar un valor específico dentro dun intervalo de celas ou dunha matriz. Despois diso, devolve a primeira partida correspondente. Tamén mostra a coincidencia máis próxima ou aproximada cando non hai coincidencia exacta.

Sintaxe:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found] ,[match_mode],[search_mode])

Argumentos:

  • Lookup_value : é o valor que somos buscando nunha columna específica do intervalo.
  • Matriz_busca : é a matriz na que estamos a buscar o valor_busca . Pode ser tanto fila comoprimeiro ou último partido. Para obter o primeiro valor que coincida, estableza o argumento search_type en 1 . E para obter o último valor que coincida, estableza o argumento search_type en -1 . Pero en INDEX-MATCH non tes opción. Só obterás o primeiro valor que coincida.
  • Para obter o primeiro alumno que obtivo 100 , podes usar esta fórmula XLOOKUP en Cela G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Xunto con ela, obterás o último alumno con 100 usando esta fórmula XLOOKUP .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Polo contrario, só obterás o primeiro valor que coincida con esta fórmula INDEX-MATCH .
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP e INDEX-MATCH no caso de varios valores de busca

Neste exemplo, demostraremos XLOOKUP vs INDEX-MATCH en caso de varios valores de busca. Hai unha semellanza entre as dúas funcións a este respecto. Ambos permiten varios valores_busca (Fórmula matricial).

  • Para a función XLOOKUP , funcionará a seguinte fórmula.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Entón, para INDEX-MATCH , a seguinte función tamén funcionará.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Vantaxes e amp; Desvantaxes da función BUSCAR XL

Hai certas vantaxes e desvantaxes de usar a función BUSCAR XL . Vémolos brevemente.

Vantaxes

  • Configurar un valor predeterminado para que non coincidan casos.
  • Pode buscar coincidencias aproximadas sen ordenar a matriz_busca .
  • Ten acceso para buscar tanto na primeira cela como na última cela da matriz de busca .

Desvantaxes

  • Funciona máis lento que a INDEX-MATCH función.
  • Dispoñible só en Office 365 .

Vantaxes & Desvantaxes das funcións INDEX-MATCH

As funcións INDEX-MATCH tamén teñen algúns dos seguintes pros e contras.

Vantaxes

  • Funciona máis rápido que a función XLOOKUP .
  • Dispoñible nas versións antigas de Excel .

Desvantaxes

  • Non se poden xestionar os erros cando non se atopa ningunha coincidencia.
  • Precisa que matriz_busca se clasifique para obter coincidencias aproximadas.
  • Devolve só o primeiro valor cando varios valores coinciden co lookup_value .

Conclusión

Finalmente, estamos ao final do noso longo artigo. Aquí tentamos crear unha análise comparativa das funcións XLOOKUP fronte ás INDEX-MATCH en Excel. Fainos saber as túas suxestións perspicaces sobre isto. Siga ExcelWIKI para obter máis titoriais.

columna.
  • Matriz_devolución: É a columna desde a que se devolverá o valor correspondente do valor_de_busca .
  • Argumentos opcionais:

    • If_not_found : é o valor que se devolverá no caso de que lookup_array non teña o lookup_value.
    • Match_mode : é un número que indica o tipo de coincidencia do lookup_value que desexa. Este é un argumento opcional. Pode conter catro valores.
    1. Cando é 0 , XLOOKUP buscará unha coincidencia exacta (predeterminada).
    2. Cando é 1 , XLOOKUP buscará primeiro unha coincidencia exacta. Se non se atopa unha coincidencia exacta, coincidirá co seguinte valor menor.
    3. Cando sexa -1 , XLOOKUP buscará primeiro unha coincidencia exacta. Se non se atopa unha coincidencia exacta, coincidirá co seguinte valor maior.
    4. Cando sexa 2 , XLOOKUP buscará primeiro unha coincidencia aproximada usando comodíns ( Aplicable só para valores de busca de cadea).
    • Search_mode : é un número que indica o tipo de operación de busca realizada na matriz_busca. Isto tamén é opcional. Tamén pode ter catro valores:
    1. Se é 1 , XLOOKUP buscará de arriba a abaixo na matriz_busca (Predeterminado).
    2. Cando é -1 , XLOOKUP buscará de abaixo cara arriba no
    3. Se é 2 , XLOOKUP realizará abusca binaria en orde ascendente.
    4. Cando é -2 , XLOOKUP realizará unha busca binaria en orde descendente.

    Introdución ás funcións INDEX-MATCH

    A combinación das funcións INDEX-MATCH utilízase para obter un valor dunha determinada localización e relacionalo co intervalo de orixe.

    Sintaxe:

    =INDEX(matriz, MATCH(valor_de_busca,matriz_de_busca,tipo_de_coincidencia),no_de_columna)

    Argumentos:

    Para a función INDEX:

    • Matriz : é un intervalo de celas do que queremos extraer un valor.
    • MATCH(valor_busca,matriz_busca,tipo_coincidencia): É o número de fila do intervalo onde o valor_busca coincide cun valor específico na matriz_busca .
    • No_of_column: É o número da columna da matriz desde a que queremos devolver un valor correspondente ao valor_busca .

    Para a función MATCH:

    • Lookup_value: É o valor que estamos a buscar.
    • Looku p_array: É a matriz na que estamos a buscar o lookup_value . Pode ser tanto unha fila como unha columna.
    • Match_type: É un número enteiro que indica o tipo de coincidencia que estamos a buscar. Isto é opcional.
    1. Cando é -1 , MATCH buscará primeiro unha coincidencia exacta. No caso de que non se atope unha coincidencia exacta, buscará o seguinte valor maior (predeterminado)(oposto a XLOOKUP ).

    Pero a condición é que lookup_array deba ordenarse en orde ascendente. En caso contrario, mostrará un erro.

    1. Cando sexa 1 , MATCH tamén buscará primeiro unha coincidencia exacta. No caso de que non se atope unha coincidencia exacta, buscará o seguinte valor menor (oposto a XLOOKUP ).

    Pero a condición é que lookup_array esta vez debe ordenarse en orde descendente. En caso contrario, mostrará un erro.

    1. Cando sexa 0 , MATCH buscará unha coincidencia exacta.

    Ler máis: Como seleccionar datos específicos en Excel (6 métodos)

    7 comparacións entre os usos das funcións XLOOKUP e INDEX-MATCH

    Agora desglosamos a fórmula, imos discutir algunhas semellanzas e diferenzas entre as dúas funcións. Antes de ir ás discusións principais, estou mostrando os puntos principais nunha táboa para a súa comodidade.

    Punto de discusión Semellanza/Disemellanza Explicación
    Matrice de busca de columnas Semellanza Ambos admiten unha columna como matriz_busca.
    Matriz_busca de filas Semellanza Ambos admiten unha fila como matriz_busca.
    Sen coincidencia de valor_buscada Dissimilaridade XLOOKUP ten a opción de configuración predeterminada para non coincidirvalor_busca. Pero o INDEX-MATCH non ten.
    Coincidencia aproximada Semellanza parcial XLOOKUP pode descubrir o seguinte menor ou o seguinte valor maior cando non hai coincidencia exacta. INDEX-MATCH tamén pode facelo, pero o lookup_array debe ordenarse en orde ascendente ou descendente.
    Commodíns coincidentes Similitude Ambos admiten comodíns coincidentes.
    Coincidencia de varios valores Semellanza parcial XLOOKUP pode descubrir primeiro ou último valor cando coinciden varios valores. Pero INDEX-MATCH só pode devolver o primeiro valor que coincida.
    Fórmula de matriz Similarity Ambos admiten a matriz fórmula.

    1. XLOOKUP e INDEX-MATCH para buscar o valor na columna

    Hai unha semellanza entre as dúas funcións neste aspecto. Para XLOOKUP e INDEX-MATCH , o lookup_array pode ser unha columna para ambas as funcións. Aquí estamos a buscar as Marcas en Física exactas do nome do alumno en C ell F5 , Jennifer Marlo . Queriamos buscar de arriba abaixo na columna Nome do alumno e devolver " Non atopado " por se non se atopaba ningunha coincidencia.

    • Para XLOOKUP , aplique a fórmula en Cela G5 .
    =XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

    • Para INDEX-MATCH , use esta fórmula en CelaG5 .
    =INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

    Ler máis: Como combinar varios criterios de diferentes matrices en Excel

    2. XLOOKUP e INDEX-MATCH ao valor de busca na fila

    Tamén hai unha semellanza entre as dúas funcións neste aspecto . Para XLOOKUP e INDEX-MATCH , a lookup_array tamén pode ser unha fila para ambas as funcións. A modo de ilustración, temos un novo conxunto de datos cos IDs , Nomes e Marcas en Física e Cursos .

    Consideremos por un momento que este é un conxunto de datos moi amplo, e non sabemos cal é o número da columna Grao . Despois, para coñecer a cualificación dun alumno en particular, temos que usar a Fila de título (B4:E4) como matriz_busca e a palabra " Calificación " como valor_busca . Podemos conseguilo usando tanto o XLOOKUP como o INDEX-MATCH .

    • Para coñecer a nota do 3o alumno , a fórmula XLOOKUP será así na Cela G5 .
    =XLOOKUP("Grade",B4:E4,B7:E7,"Not Found",0,1)

    • Para este caso, a fórmula INDEX-MATCH será:
    =INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

    3. XLOOKUP e INDEX-MATCH cando non se atopa ningunha coincidencia

    As dúas funcións son diferentes neste aspecto. Se o valor_busca non coincide con ningún valor da matriz_busca , pode establecer un valor fixo para ser devolto en XLOOKUP . Para facelo, tes que configuralovalor no argumento if_not_ found . Por outra banda, non existe esa opción en INDEX-MATCH . Devolverá un erro. Ten que usar a función IFERROR fóra para xestionar o erro. No conxunto de datos dado, atoparemos o Nome do alumno co ID 100 .

    • Para iso, use a seguinte fórmula XLOOKUP en Cela G5 .
    =XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

    • Por outra banda, aplique isto <1 Fórmula>INDEX-MATCH .
    =INDEX(B5:E16,MATCH(100,B5:B16,0),2)

    • Como devolve un erro, ten que usar unha función IFERROR fóra para xestionar este erro.
    =IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2),"Not Found")

    Lecturas similares

    • Excel INDEX MATCH para devolver varios valores nunha cela
    • Excel INDEX-MATCH para devolver varios valores Horizontalmente
    • Como usar a fórmula INDEX-MATCH en Excel para xerar varios resultados
    • [Fixed!] INDEX MATCH non devolve o valor correcto en Excel (5 razóns)
    • Como usar INDEX MATCH en lugar de VLOOKUP en Excel (3 xeitos)

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

    Hai unha semellanza parcial entre as dúas funcións neste aspecto. Na función XLOOKUP , se o lookup_value non coincide con ningún valor da lookup_array , pode modificar a fórmula para devolver o seguinte valor menor ou o seguinte maior. . Establece o argumento match_type a -1 se quere o seguinte valor menor e configúrao en 1 se quere o seguinte valor maior.

    Por exemplo , atoparemos o alumno cunha nota de 50 ou a seguinte nota maior.

    • Para atopar o valor, aplique esta fórmula XLOOKUP .
    =XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

    • Como podes ver, non hai ningún alumno cunha nota de 50 . É por iso que está a mostrar o inmediatamente despois de 50 , 51 de Desmond Hayes .

    Hai a mesma opción no Fórmula INDEX-MATCH . Pero a deficiencia é que tes que ordenar o lookup_array en orde descendente se queres o seguinte valor maior. En caso contrario, devolverá un erro. E para obter o seguinte valor menor, ten que ordenar en orde ascendente.

    • Primeiro de todo, insira esta fórmula na Cela G5 .
    =INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

    • Como resultado, verá que o resultado mostra un erro #N/A .
    • Por iso, ordena o Intervalo de celas D5:D16 en orde ascendente e obterás o valor correcto.

    Nota especial:na función XLOOKUP, -1funciona para o seguinte valor menor, pero en INDEX-MATCH, -1funciona para o seguinte valor maior. Do mesmo xeito, na función XLOOKUP, 1 funciona para o seguinte valor maior, pero en INDEX-MATCH, 1funciona para o seguinte valor menor.

    Ler máis: Como usarÍNDICE e coincidencia para coincidencia parcial (2 xeitos)

    5. XLOOKUP e INDEX-MATCH en caso de coincidencia de comodíns

    Hai unha semellanza entre as dúas funcións neste aspecto. XLOOKUP e INDEX-MATCH , ambos admiten comodíns . Aquí, atoparemos calquera alumno con “ Marlo ” como segundo nome. Sigamos os pasos seguintes para ver a comparación XLOOKUP e INDEX-MATCH .

    • En primeiro lugar, aplique esta fórmula XLOOKUP en Cela G5 para obter a saída.
    =XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

    Nota:Para usar comodíns en XLOOKUP, ten que establecer o argumento match_typeen 2. En caso contrario, non funcionará.

    • Por outra banda, a fórmula INDEX-MATCH para realizar a mesma tarefa será así.
    =INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

    Ler máis: INDICE MATCH Varios criterios con comodín en Excel (Unha guía completa )

    6. XLOOKUP e INDEX-MATCH cando varios valores coinciden co valor de busca

    Este exemplo mostra XLOOKUP vs INDEX-MATCH cando varios valores coinciden co valor de busca. Tamén hai unha semellanza parcial entre as dúas funcións a este respecto. XLOOKUP e INDEX-MATCH devolven só un valor no caso de que varios valores na matriz_busca coincidan co valor_busca . Pero na función XLOOKUP , pode modificar a busca para obter calquera das opcións

    Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.