Táboa de contidos
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.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.
- Cando é 0 , XLOOKUP buscará unha coincidencia exacta (predeterminada).
- Cando é 1 , XLOOKUP buscará primeiro unha coincidencia exacta. Se non se atopa unha coincidencia exacta, coincidirá co seguinte valor menor.
- Cando sexa -1 , XLOOKUP buscará primeiro unha coincidencia exacta. Se non se atopa unha coincidencia exacta, coincidirá co seguinte valor maior.
- 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:
- Se é 1 , XLOOKUP buscará de arriba a abaixo na matriz_busca (Predeterminado).
- Cando é -1 , XLOOKUP buscará de abaixo cara arriba no
- Se é 2 , XLOOKUP realizará abusca binaria en orde ascendente.
- 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.
- 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.
- 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.
- 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