XLOOKUP vs INDEX-MATCH în Excel (Toate comparațiile posibile)

  • Imparte Asta
Hugh West

Astăzi voi face o analiză comparativă a XLOOKUP vs Funcțiile INDEX-MATCH în Excel În versiunile anterioare ale Excel , obișnuiam să folosim HLOOKUP , a VLOOKUP , iar INDEX-MATCH pentru a căuta o anumită valoare într-un interval de celule. Cu toate acestea, odată cu apariția funcțiilor Office 365 , Excel ne-a pus la dispoziție o funcție nouă și dinamică numită XLOOKUP pentru a efectua o operațiune similară în mod mai sofisticat. În acest articol, voi încerca să compar funcțiile utilizate pe scară largă, funcția XLOOKUP și INDEX-MATCH .

Descărcați caietul de practică

Obțineți acest fișier de probă pentru o mai bună înțelegere.

Funcțiile XLOOKUP vs INDEX-MATCH.xlsx

Introducere în funcția XLOOKUP

The XLOOKUP este utilizată pentru a găsi o anumită valoare într-un interval de celule sau într-o matrice, după care returnează prima potrivire corespunzătoare. De asemenea, arată cea mai apropiată sau aproximativă potrivire atunci când nu există o potrivire exactă.

Sintaxă:

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

Argumente:

  • Valoare_de_consultare : Este valoarea pe care o căutăm într-o anumită coloană a intervalului.
  • Tablou_repertoriu : Este matricea în care căutăm lookup_value Poate fi atât rând cât și coloană.
  • Return_array: Este coloana din care este extrasă valoarea corespunzătoare a lookup_value va fi returnată.

Argumente opționale:

  • If_not_found : Este valoarea care va fi returnată în cazul în care lookup_array nu are valoarea de căutare.
  • Modul_de_meci : Este un număr care denotă tipul de potrivire al lookup_value Acesta este un argument opțional și poate conține patru valori.
  1. Când este 0 , XLOOKUP va căuta o potrivire exactă (implicit).
  2. Când este 1 , XLOOKUP va căuta mai întâi o potrivire exactă. Dacă nu se găsește o potrivire exactă, va căuta următoarea valoare mai mică.
  3. Când este -1 , XLOOKUP va căuta mai întâi o potrivire exactă. Dacă nu se găsește o potrivire exactă, se va căuta următoarea valoare mai mare.
  4. Când este 2 , XLOOKUP va căuta mai întâi o potrivire aproximativă folosind caractere wildcard (aplicabil numai pentru valorile de căutare a șirurilor de caractere).
  • Modul_de_cercetare : Este un număr care denotă tipul de operațiune de căutare efectuată asupra lookup_array. Este, de asemenea, opțional. Poate avea și patru valori:
  1. În cazul în care este 1 , XLOOKUP va căuta de sus în jos în lista lookup_array (implicit).
  2. Când este -1 , XLOOKUP va căuta de jos în sus în
  3. În cazul în care este 2 , XLOOKUP va efectua o căutare binară în ordine crescătoare.
  4. Când este -2 , XLOOKUP va efectua o căutare binară în ordine descrescătoare.

Introducere în funcțiile INDEX-MATCH

Combinația dintre INDEX-MATCH este utilizată pentru a prelua o valoare dintr-o anumită locație și a o compara cu intervalul sursă.

Sintaxă:

=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)

Argumente:

Pentru funcția INDEX:

  • Array : Este un interval de celule din care dorim să extragem o valoare.
  • MATCH(lookup_value,lookup_array,match_type): Este numărul de rând al intervalului în care se află lookup_value se potrivește cu o anumită valoare din lookup_array .
  • No_of_column: Este numărul coloanei din array din care dorim să returnăm o valoare corespunzătoare la lookup_value .

Pentru funcția MATCH:

  • Lookup_value: Este valoarea pe care o căutăm.
  • Lookup_array: Este matricea în care căutăm lookup_value Acesta poate fi atât un rând, cât și o coloană.
  • Tipul de meci: Este un număr întreg care indică tipul de corespondență pe care îl căutăm. Este opțional.
  1. Când este -1 , MATCH va căuta mai întâi o potrivire exactă. În cazul în care nu se găsește o potrivire exactă, se va căuta următoarea valoare mai mare (Default) (opusul lui XLOOKUP ).

Dar condiția este ca lookup_array trebuie să fie sortate în ordine crescătoare, altfel se va afișa o eroare.

  1. Când este 1 , MATCH De asemenea, va căuta mai întâi o potrivire exactă. În cazul în care nu se găsește o potrivire exactă, se va căuta următoarea valoare mai mică (opusul lui XLOOKUP ).

Dar condiția este ca lookup_array trebuie să fie sortat în ordine descrescătoare de data aceasta, în caz contrar, se va afișa o eroare.

  1. Când este 0 , MATCH va căuta o potrivire exactă.

Citește mai mult: Cum să selectați date specifice în Excel (6 metode)

7 Comparații între utilizările funcțiilor XLOOKUP și INDEX-MATCH

Acum că am descompus formula, să discutăm câteva asemănări și deosebiri între cele două funcții. Înainte de a trece la discuțiile principale, vă prezint principalele puncte într-un tabel pentru comoditate.

Punct de discuție Asemănare/Disimilaritate Explicație
Coloană lookup_array Similaritate Ambele acceptă o coloană ca matrice de căutare.
Rând lookup_array Similaritate Ambele acceptă un rând ca matrice de căutare.
Nici o potrivire a valorii de căutare (lookup_value) Disimilaritate XLOOKUP are opțiunea de configurare implicită pentru a nu se potrivi cu valoarea de căutare, dar INDEX-MATCH nu are această opțiune.
Potrivire aproximativă Similaritate parțială XLOOKUP poate găsi următoarea valoare mai mică sau mai mare atunci când nu există o potrivire exactă. INDEX-MATCH poate face același lucru, dar tabelul de căutare trebuie să fie sortat în ordine crescătoare sau descrescătoare.
Potrivirea caracterelor wildcard Similaritate Ambele acceptă caractere wildcard de potrivire.
Potrivirea valorilor multiple Similaritate parțială XLOOKUP poate afla fie prima, fie ultima valoare atunci când mai multe valori se potrivesc, însă INDEX-MATCH poate returna numai prima valoare care se potrivește.
Formula Array Similaritate Ambele acceptă formula de matrice.

1. XLOOKUP și INDEX-MATCH pentru a căuta valoarea în coloană

Există o asemănare între cele două funcții sub acest aspect. Pentru funcția de XLOOKUP și INDEX-MATCH , lookup_array poate fi o coloană pentru ambele funcții. Aici căutăm exact Note la fizică a numelui elevului în C ell F5 , Jennifer Marlo Am vrut să căutăm de sus până jos în Numele elevului și returnează " Nu a fost găsit " în cazul în care nu se găsește nicio potrivire.

  • Pentru XLOOKUP , se aplică formula din Celula G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Pentru INDEX-MATCH , utilizați această formulă în Celula G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3),3)

Citește mai mult: Cum să potriviți mai multe criterii din diferite array-uri în Excel

2. XLOOKUP și INDEX-MATCH pentru a căuta valoarea în rând

Există o asemănare între cele două funcții și sub acest aspect. Pentru funcția de XLOOKUP și INDEX-MATCH , a lookup_array poate fi, de asemenea, un rând pentru ambele funcții. Pentru exemplificare, avem un nou set de date cu funcția ID-uri , Nume , și Note la fizică și Clasele .

Să considerăm pentru un moment că este vorba de un set de date foarte larg și că nu știm care este numărul de Clasa Apoi, pentru a afla nota unui anumit elev, trebuie să folosim coloana Rândul de antet (B4:E4) ca matrice de căutare și cuvântul " Clasa ", ca lookup_value Putem realiza acest lucru folosind atât XLOOKUP și INDEX-MATCH .

  • Pentru a afla gradul de Al treilea elev , a XLOOKUP formula va fi astfel în Celula G5 .
=XLOOKUP("Grade",B4:E4,B7:E7, "Not Found",0,1)

  • Pentru acest caz, se utilizează INDEX-MATCH formula va fi:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

3. XLOOKUP și INDEX-MATCH atunci când nu se găsește nicio potrivire

Cele două funcții sunt diferite sub acest aspect. Dacă valoarea de căutare nu se potrivește cu nici o valoare din lookup_array , puteți seta o valoare fixă care să fie returnată în XLOOKUP Pentru a face acest lucru, trebuie să setați această valoare în if_not_found Pe de altă parte, nu există o astfel de opțiune în INDEX-MATCH Va returna o eroare. Trebuie să utilizați funcția IFERROR în exterior pentru a gestiona eroarea. În setul de date dat, vom afla valoarea Numele elevului cu ID-ul 100 .

  • Pentru aceasta, utilizați următoarele XLOOKUP formula în Celula G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • Pe de altă parte, aplicați acest INDEX-MATCH formula.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Deoarece returnează o eroare, trebuie să folosiți o funcție IFERROR în exterior pentru a gestiona această eroare.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Not Found")

Lecturi similare

  • Excel INDEX MATCH pentru a returna mai multe valori într-o singură celulă
  • Excel INDEX-MATCH Formula pentru a returna mai multe valori orizontal
  • Cum se utilizează formula INDEX-MATCH în Excel pentru a genera rezultate multiple
  • [Fixed!] INDEX MATCH nu returnează valoarea corectă în Excel (5 motive)
  • Cum să utilizați INDEX MATCH în loc de VLOOKUP în Excel (3 moduri)

4. XLOOKUP și INDEX-MATCH în cazul corespondențelor aproximative

Există o asemănare parțială între cele două funcții sub acest aspect. În cadrul funcției XLOOKUP în cazul în care funcția lookup_value nu se potrivește cu nicio valoare din lookup_array , puteți modifica formula pentru a returna următoarea valoare mai mică sau următoarea valoare mai mare. Setați argumentul match_type la -1 dacă doriți următoarea valoare mai mică și setați-o la 1 dacă doriți următoarea valoare mai mare.

De exemplu, vom afla elevul cu o notă de 50 sau următoarea marcă mai mare.

  • Pentru a afla valoarea, aplicați următoarea formulă XLOOKUP formula.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • După cum se poate observa, nu există niciun elev cu o notă de 50 De aceea se afișează cea imediat următoare. 50 , 51 de Desmond Hayes .

Aceeași opțiune există și în INDEX-MATCH Dar neajunsul este că trebuie să sortați lookup_array în ordine descrescătoare dacă doriți următoarea valoare mai mare. În caz contrar, se va returna o eroare. Iar pentru a obține următoarea valoare mai mică, trebuie să sortați în ordine crescătoare.

  • Mai întâi de toate, introduceți această formulă în Celula G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • Ca urmare, veți vedea că rezultatul arată un #N/A eroare.
  • Prin urmare, sortați Intervalul de celule D5:D16 în ordine crescătoare și veți obține valoarea corectă.

Notă specială: În XLOOKUP funcție, -1 funcționează pentru următoarea valoare mai mică, dar în INDEX-MATCH , -1 funcționează pentru următoarea valoare mai mare. În mod similar, în cazul XLOOKUP funcția 1 funcționează pentru următoarea valoare mai mare, dar în INDEX-MATCH, 1 funcționează pentru următoarea valoare mai mică.

Citește mai mult: Cum se utilizează INDEX și Match pentru potrivire parțială (2 moduri)

5. XLOOKUP și INDEX-MATCH în cazul potrivirii caracterelor wildcard

Există o asemănare între cele două funcții sub acest aspect. Funcția de XLOOKUP și INDEX-MATCH , ambele susțin Wildcards Aici, vom descoperi orice elev cu " Marlo " ca al doilea nume. Să urmăm pașii de mai jos pentru a vedea XLOOKUP vs INDEX-MATCH comparație.

  • În primul rând, aplicați acest XLOOKUP formula în Celula G5 pentru a obține rezultatul.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Notă: Pentru a utiliza caractere wildcards în XLOOKUP , trebuie să setați match_type argument pentru 2 În caz contrar, nu va funcționa.

  • Pe de altă parte, în cazul INDEX-MATCH formula pentru a îndeplini aceeași sarcină va fi următoarea.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Citește mai mult: INDEX MATCH Criterii multiple cu Wildcard în Excel (Un ghid complet)

6. XLOOKUP și INDEX-MATCH Când mai multe valori se potrivesc cu valoarea de căutare

Acest exemplu arată XLOOKUP vs INDEX-MATCH atunci când mai multe valori se potrivesc cu valoarea de căutare. Există, de asemenea, o similitudine parțială între cele două funcții în această privință. Funcția XLOOKUP și INDEX-MATCH ambele returnează o singură valoare în cazul în care mai multe valori din lookup_array se potrivesc cu lookup_value . dar în XLOOKUP puteți modifica căutarea pentru a obține fie prima, fie ultima potrivire. Pentru a obține prima valoare care se potrivește, setați funcția căutare_tip argument pentru 1 . și pentru a obține ultima valoare care se potrivește, setați valoarea căutare_tip argument pentru -1 Dar în INDEX-MATCH nu aveți de ales. Veți obține doar prima valoare care se potrivește.

  • Pentru a obține primul elev care a obținut 100 , puteți folosi acest lucru XLOOKUP formula în Celula G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Împreună cu acesta, veți primi ultimul elev cu 100 folosind acest XLOOKUP formula.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Dimpotrivă, veți obține doar prima valoare care se potrivește cu acest lucru INDEX-MATCH formula.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP și INDEX-MATCH în cazul unor valori de căutare multiple

În acest exemplu, vom demonstra XLOOKUP vs INDEX-MATCH în cazul unor valori de căutare multiple. Există o asemănare între cele două funcții în această privință. Ambele permit mai multe valori de căutare. lookup_values (Formula Array).

  • Pentru XLOOKUP va funcționa următoarea formulă.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Apoi, pentru INDEX-MATCH , va funcționa și următoarea funcție.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Avantaje & Dezavantaje ale funcției XLOOKUP

Există anumite avantaje și dezavantaje ale utilizării XLOOKUP Să le vedem pe scurt.

Avantaje

  • Setați o valoare implicită pentru cazurile care nu corespund.
  • Se pot căuta potriviri aproximative fără a sorta lista lookup_array .
  • Aveți acces la căutare atât din prima celulă, cât și din ultima celulă a lookup_array .

Dezavantaje

  • Funcționează mai lent decât INDEX-MATCH funcție.
  • Disponibil în Office 365 numai.

Avantaje & Dezavantaje ale funcțiilor INDEX-MATCH

The INDEX-MATCH funcțiile au, de asemenea, unele dintre următoarele argumente pro și contra.

Avantaje

  • Funcționează mai rapid decât XLOOKUP funcție.
  • Disponibil în vechiul Excel versiuni.

Dezavantaje

  • Nu poate gestiona erorile atunci când nu se găsește nicio potrivire.
  • Are nevoie de lookup_array pentru a fi sortate pentru a găsi corespondențe aproximative.
  • Returnează numai prima valoare atunci când mai multe valori se potrivesc cu lookup_value .

Concluzie

În sfârșit, am ajuns la finalul lungului nostru articol. Aici am încercat să creionăm o analiză comparativă a XLOOKUP față de INDEX-MATCH Lăsați-ne să vă cunoaștem sugestiile dvs. de perspectivă în acest sens. Urmăriți-ne. ExcelWIKI pentru mai multe tutoriale.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.