Taula de continguts
Avui faré una anàlisi comparativa de les funcions XLOOKUP i INDEX-MATCH a Excel . A les versions anteriors d' Excel , solíem fer servir les funcions HLOOKUP , VLOOKUP i INDEX-MATCH per cercar un valor específic en un rang de cel·les. Tanmateix, amb l'aparició d' Office 365 , Excel ens ha proporcionat una funció nova i dinàmica anomenada funció XLOOKUP per dur a terme una operació similar de manera més sofisticada. En aquest article, intentaré comparar les funcions àmpliament utilitzades, XLOOKUP i INDEX-MATCH .
Descarregueu el quadern de pràctiques
Obteniu aquest fitxer de mostra per a una millor comprensió.
XLOOKUP vs INDEX-MATCH Functions.xlsx
Introducció a la funció XLOOKUP
La funció XLOOKUP s'utilitza per trobar un valor específic dins d'un rang de cel·les o una matriu. Després d'això, retorna el primer partit corresponent. També mostra la coincidència més propera o aproximada quan no hi ha coincidència exacta.
Sintaxi:
=XLOOKUP(valor_cerca,matriu_cerca,matriu_retorn,[si_not_found] ,[match_mode],[search_mode])
Arguments:
- Lookup_value : és el valor que som cercant en una columna específica de l'interval.
- Lookup_array : és la matriu en què estem cercant el lookup_value . Pot ser tant fila comprimer o darrer partit. Per obtenir el primer valor que coincideixi, establiu l'argument search_type a 1 . I per obtenir l'últim valor que coincideixi, establiu l'argument search_type a -1 . Però a INDEX-MATCH no teniu cap opció. Només obtindreu el primer valor que coincideixi.
- Per obtenir el primer estudiant que va obtenir 100 , podeu utilitzar aquesta fórmula XLOOKUP a Cel·la G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)
- Amb ella, obtindreu l'últim alumne amb 100 utilitzant aquesta fórmula XLOOKUP .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)
- Per contra, només obtindreu el primer valor que coincideixi amb aquesta fórmula INDEX-MATCH .
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)
7. XLOOKUP i INDEX-MATCH en cas de diversos valors de cerca
En aquest exemple, demostrarem XLOOKUP vs INDEX-MATCH en cas de diversos valors de cerca. Hi ha una similitud entre les dues funcions en aquest sentit. Tots dos permeten múltiples valors_de_cerca (fórmula matriu).
- Per a la funció XLOOKUP , la fórmula següent funcionarà.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)
- Llavors, per a INDEX-MATCH , la funció següent també funcionarà.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)
Avantatges & Desavantatges de la funció XLOOKUP
Hi ha certs avantatges i desavantatges d'utilitzar la funció XLOOKUP . Vegem-los breument.
Avantatges
- Configureu un valor predeterminat per a que no hi hagi casos coincidents.
- Pot cercar coincidències aproximades sense ordenar la matriu_cerques .
- Tenir accés per cercar tant des de la primera cel·la com de l'última cel·la de la matriu_de_cerca .
Desavantatges
- Funciona més lentament que INDEX-MATCH Funció .
- Disponible només a Office 365 .
Avantatges i amp; Desavantatges de les funcions INDEX-MATCH
Les funcions INDEX-MATCH també tenen alguns dels avantatges i inconvenients següents.
Avantatges
- Funciona més ràpid que la funció XLOOKUP .
- Disponible a les versions antigues d'Excel .
Inconvenients
- No es poden gestionar els errors quan no es troba cap coincidència.
- Necessita que lookup_array s'ordeni per a coincidències aproximades.
- Retorna només el primer valor quan diversos valors coincideixen amb el valor_de_cerca .
Conclusió
Finalment, estem al final del nostre llarg article. Aquí hem intentat crear una anàlisi comparativa de les funcions XLOOKUP versus INDEX-MATCH a Excel. Feu-nos saber els vostres suggeriments pertinents al respecte. Seguiu ExcelWIKI per obtenir més tutorials.
column.Arguments opcionals:
- If_not_found : és el valor que es retornarà en cas que la matriu_de_cerca no tingui el valor_de_cerca.
- Match_mode : és un número que indica el tipus de concordança del lookup_value que voleu. Aquest és un argument opcional. Pot contenir quatre valors.
- Quan és 0 , XLOOKUP cercarà una coincidència exacta (per defecte).
- Quan sigui 1 , XLOOKUP primer cercarà una coincidència exacta. Si no es troba una coincidència exacta, coincidirà amb el següent valor més petit.
- Quan sigui -1 , XLOOKUP primer cercarà una coincidència exacta. Si no es troba una coincidència exacta, coincidirà amb el següent valor més gran.
- Quan sigui 2 , XLOOKUP primer cercarà una concordança aproximada amb comodins ( Aplicable només per als valors de cerca de cadenes).
- Search_mode : és un número que indica el tipus d'operació de cerca realitzada a la matriu_cerques. Això també és opcional. També pot tenir quatre valors:
- Si és 1 , XLOOKUP cercarà de dalt a baix a la matriu_cerques (per defecte).
- Quan és -1 , XLOOKUP cercarà de baix a dalt a
- Si és 2 , XLOOKUP realitzarà acerca binària en ordre ascendent.
- Quan és -2 , XLOOKUP realitzarà una cerca binària en ordre descendent.
Introducció a les funcions INDEX-MATCH
La combinació de les funcions INDEX-MATCH s'utilitza per obtenir un valor d'una ubicació determinada i relacionar-lo amb l'interval d'origen.
Sintaxi:
=INDEX(matriu, MATCH(valor_de_cerca,matriu_de_cerca,tipus_de_coincidència),no_de_columna)
Arguments:
Per a la funció INDEX:
- Matriu : és un rang de cel·les del qual volem extreure un valor.
- MATCH(valor_de_cerca, matriu_de_cerca,tipus_de_concordança): És el número de fila de l'interval on el valor_de_cerca coincideix amb un valor específic de la matriu_de_cerca .
- No_of_column: És el número de la columna de la matriu des de la qual volem retornar un valor corresponent al valor_de_cerca .
Per a la funció MATCH:
- Lookup_value: És el valor que estem cercant.
- Looku p_array: És la matriu en què estem cercant el valor_de_cerca . Pot ser alhora una fila i una columna.
- Match_type: És un nombre enter que indica el tipus de concordança que estem buscant. Això és opcional.
- Quan sigui -1 , MATCH primer buscarà una coincidència exacta. En cas que no es trobi una coincidència exacta, buscarà el següent valor més gran (per defecte)(al contrari de XLOOKUP ).
Però la condició és que lookup_array s'hagi d'ordenar en ordre ascendent. En cas contrari, mostrarà un error.
- Quan sigui 1 , COMPARACIÓ també cercarà primer una coincidència exacta. En cas que no es trobi una coincidència exacta, buscarà el següent valor més petit (oposat a XLOOKUP ).
Però la condició és que lookup_array aquesta vegada s'han d'ordenar en ordre descendent. En cas contrari, mostrarà un error.
- Quan sigui 0 , MATCH cercarà una coincidència exacta.
Més informació: Com seleccionar dades específiques a Excel (6 mètodes)
7 comparacions entre els usos de les funcions XLOOKUP i INDEX-MATCH
Ara hem desglossat la fórmula, analitzem algunes similituds i diferències entre les dues funcions. Abans d'anar a les discussions principals, us mostro els punts principals en una taula per a la vostra comoditat.
Punt de discussió | Similitud/dissimilaritat | Explicació |
Matriu_de_cerca de columnes | Similitud | Tots dos admeten una columna com a matriu_de_cerca. |
Matriu_de_cerca de fila | Similitud | Tots dos admeten una fila com la matriu_de_cerca. |
No coincideix amb el valor_de_cerca | Dissimilaritat | XLOOKUP té l'opció de configuració predeterminada per no coincidirvalor_de_cerca. Però l'INDEX-MATCH no té. |
Concordança aproximada | Similitud parcial | XLOOKUP pot trobar el següent més petit o el següent valor més gran quan no hi ha coincidència exacta. INDEX-MATCH també ho pot fer, però la matriu_cerques s'ha d'ordenar en ordre ascendent o descendent. |
Commodins coincidents | Similitud | Tots dos admeten comodins coincidents. |
Coincidències de diversos valors | Similitud parcial | XLOOKUP pot esbrinar el primer o l'últim valor quan coincideixen diversos valors. Però INDEX-MATCH només pot retornar el primer valor que coincideixi. |
Fórmula de matriu | Similitud | Tots dos admeten la matriu fórmula. |
1. XLOOKUP i INDEX-MATCH amb el valor de cerca a la columna
Hi ha una similitud entre les dues funcions en aquest aspecte. Per a XLOOKUP i INDEX-MATCH , la matriu_cerca pot ser una columna per a ambdues funcions. Aquí estem buscant les Notes en Física exactes del nom de l'estudiant a C ell F5 , Jennifer Marlo . Volíem cercar de dalt a baix a la columna Nom de l'alumne i tornar " No trobat " en cas que no s'ha trobat cap coincidència.
- Per a XLOOKUP , apliqueu la fórmula a Cel·la G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)
- Per a INDEX-MATCH , utilitzeu aquesta fórmula a Cel·laG5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)
Llegeix més: Com fer coincidir diversos criteris de diferents matrius a Excel
2. XLOOKUP i INDEX-MATCH al valor de cerca a la fila
També hi ha una similitud entre les dues funcions en aquest aspecte . Per a XLOOKUP i INDEX-MATCH , la lookup_array també pot ser una fila per a ambdues funcions. Per il·lustració, tenim un conjunt de dades nou amb els IDs , Noms i Marques de Física i Graus .
Considerem per un moment que es tracta d'un conjunt de dades molt ampli i no sabem quin és el número de la columna Grau . Aleshores, per esbrinar la qualificació d'un estudiant en particular, hem d'utilitzar la Fila d'encapçalament (B4:E4) com a matriu_de_cerca i la paraula " Nota " com a valor_de_cerca . Ho podem aconseguir utilitzant tant el XLOOKUP com el INDEX-MATCH .
- Per saber la nota del 3r alumne , la fórmula XLOOKUP serà així a la Cel·la G5 .
=XLOOKUP("Grade",B4:E4,B7:E7,"Not Found",0,1)
- En aquest cas, la fórmula INDEX-MATCH serà:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))
3. CERCA XL i COINCORDACIÓ ÍNDEX quan no es troba cap coincidència
Les dues funcions són diferents en aquest aspecte. Si el valor_de_cerca no coincideix amb cap valor de la matriu_de_cerca , podeu establir un valor fix que es retornarà a XLOOKUP . Per fer-ho, has de configurar-hovalor a l'argument if_not_found . D'altra banda, no hi ha aquesta opció a INDEX-MATCH . Tornarà un error. Heu d'utilitzar la funció IFERROR fora per gestionar l'error. Al conjunt de dades donat, trobarem el Nom de l'estudiant amb l'ID 100 .
- Per a això, utilitzeu la següent fórmula XLOOKUP a Cel·la G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)
- En canvi, apliqueu això <1 Fórmula>INDEX-MATCH .
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)
- Com que retorna un error, heu d'utilitzar una funció IFERROR fora per gestionar aquest error.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2),"Not Found")
Lectures similars
- Excel INDEX MATCH per retornar diversos valors en una cel·la
- Excel INDEX-MATCH per retornar diversos valors Horitzontalment
- Com utilitzar la fórmula INDEX-MATCH a Excel per generar diversos resultats
- [Fixat!] INDEX MATCH no retorna el valor correcte a Excel (5 raons)
- Com utilitzar INDEX MATCH en lloc de VLOOKUP a Excel (3 maneres)
4. XLOOKUP i INDEX-MATCH a Cas de coincidències aproximades
Hi ha una similitud parcial entre les dues funcions en aquest aspecte. A la funció XLOOKUP , si el lookup_value no coincideix amb cap valor de la lookup_array , podeu modificar la fórmula per retornar el següent valor més petit o el següent més gran. . Estableix l'argument match_type a -1 si voleu el següent valor més petit i establiu-lo a 1 si voleu el següent valor més gran.
Per exemple. , trobarem l'estudiant amb una nota de 50 o la següent nota més gran.
- Per trobar el valor, apliqueu aquesta fórmula XLOOKUP .
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)
- Com podeu veure, no hi ha cap alumne amb una nota de 50 . És per això que es mostra la immediatament després de 50 , 51 de Desmond Hayes .
Hi ha la mateixa opció a la Fórmula INDEX-MATCH . Però el defecte és que heu d'ordenar el lookup_array en ordre descendent si voleu el següent valor més gran. En cas contrari, retornarà un error. I per obtenir el següent valor més petit, heu d'ordenar en ordre ascendent.
- En primer lloc, inseriu aquesta fórmula a la Cel·la G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)
- Com a resultat, veureu que el resultat mostra un error #N/A .
- Per tant, ordena l' Interval de cel·les D5:D16 en ordre ascendent i obtindreu el valor correcte.
Nota especial:a la funció XLOOKUP, -1funciona per al següent valor més petit, però a INDEX-MATCH, -1funciona per al següent valor més gran. De la mateixa manera, a la funció XLOOKUP, 1 funciona per al següent valor més gran, però a INDEX-MATCH, 1funciona per al següent valor més petit.
Més informació: Com s'utilitzaÍNDEX i Coincidència per a la concordança parcial (2 vies)
5. XLOOKUP i INDEX-MATCH en cas de coincidència de comodins
Hi ha una similitud entre les dues funcions en aquest aspecte. El XLOOKUP i el INDEX-MATCH , tots dos admeten comodins . Aquí trobarem qualsevol alumne amb “ Marlo ” com a segon nom. Seguim els passos següents per veure la comparació XLOOKUP i INDEX-MATCH .
- En primer lloc, apliqueu aquesta fórmula XLOOKUP a Cel·la G5 per obtenir la sortida.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)
Nota:Per utilitzar comodins a XLOOKUP, heu d'establir l'argument match_typea 2. En cas contrari, no funcionarà.
- D'altra banda, la fórmula INDEX-MATCH per realitzar la mateixa tasca serà així.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)
Llegiu-ne més: ÍNDEX COINCORDA Criteris múltiples amb comodí a Excel (una guia completa )
6. XLOOKUP i INDEX-MATCH quan diversos valors coincideixen amb el valor de cerca
Aquest exemple mostra XLOOKUP vs INDEX-MATCH quan diversos valors coincideixen amb el valor de cerca. També hi ha una similitud parcial entre les dues funcions en aquest sentit. XLOOKUP i INDEX-MATCH tots dos retornen només un valor en cas que diversos valors a la matriu_de_cerca coincideixen amb el valor_de_cerca . Però a la funció XLOOKUP , podeu modificar la cerca per obtenir qualsevol de les opcions