Obsah
Dnes urobím komparatívnu analýzu XLOOKUP vs Funkcie INDEX-MATCH na stránke Excel V predchádzajúcich verziách Excel , používali sme HLOOKUP ,. VLOOKUP a INDEX-MATCH funkcie na hľadanie konkrétnej hodnoty v rozsahu buniek. Office 365 , Excel nám poskytol novú a dynamickú funkciu s názvom XLOOKUP funkcia na vykonanie podobnej operácie sofistikovanejšie. V tomto článku sa pokúsim porovnať široko používané funkcie XLOOKUP a INDEX-MATCH .
Stiahnite si cvičebnicu
Získajte tento vzorový súbor pre lepšie pochopenie.
Funkcie XLOOKUP vs INDEX-MATCH.xlsxÚvod do funkcie XLOOKUP
Stránka XLOOKUP Funkcia sa používa na vyhľadanie konkrétnej hodnoty v rámci rozsahu buniek alebo poľa. Potom vráti zodpovedajúcu prvú zhodu. Ak neexistuje presná zhoda, zobrazí aj najbližšiu alebo približnú zhodu.
Syntax:
=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])
Argumenty:
- Lookup_value : Je to hodnota, ktorú hľadáme v konkrétnom stĺpci rozsahu.
- Lookup_array : Je to pole, v ktorom hľadáme lookup_value Môže to byť riadok aj stĺpec.
- Return_array: Je to stĺpec, z ktorého sa vyberá príslušná hodnota lookup_value sa vráti.
Voliteľné argumenty:
- If_not_found : Je to hodnota, ktorá sa vráti v prípade, že lookup_array nemá hodnotu lookup_value.
- Match_mode : Je to číslo označujúce typ zhody lookup_value Toto je nepovinný argument. Môže obsahovať štyri hodnoty.
- Keď je 0 , XLOOKUP vyhľadá presnú zhodu (Predvolené).
- Keď je 1 , XLOOKUP najprv vyhľadá presnú zhodu. Ak sa presná zhoda nenájde, vyhľadá sa ďalšia menšia hodnota.
- Keď je -1 , XLOOKUP najprv vyhľadá presnú zhodu. Ak sa presná zhoda nenájde, vyhľadá sa ďalšia väčšia hodnota.
- Keď je 2 , XLOOKUP najprv vyhľadá približnú zhodu pomocou zástupných znakov (platí len pre hodnoty vyhľadávania reťazcov).
- Režim vyhľadávania : Je to číslo označujúce typ vyhľadávacej operácie vykonanej na poli lookup_array. Je tiež nepovinné. Môže mať aj štyri hodnoty:
- Ak je 1 , XLOOKUP bude vyhľadávať zhora nadol v lookup_array (Predvolené nastavenie).
- Keď je -1 , XLOOKUP bude vyhľadávať zdola nahor v
- Ak je 2 , XLOOKUP vykoná binárne vyhľadávanie vo vzostupnom poradí.
- Keď je -2 , XLOOKUP vykoná binárne vyhľadávanie v zostupnom poradí.
Úvod do funkcií INDEX-MATCH
Kombinácia INDEX-MATCH sa používa na načítanie hodnoty z daného miesta a jej porovnanie so zdrojovým rozsahom.
Syntax:
=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)
Argumenty:
Pre funkciu INDEX:
- Pole : Je to rozsah buniek, z ktorých chceme získať hodnotu.
- MATCH(lookup_value,lookup_array,match_type): Je to číslo riadku rozsahu, v ktorom sa lookup_value zodpovedá konkrétnej hodnote v lookup_array .
- No_of_column: Je to číslo stĺpca poľa, z ktorého chceme vrátiť hodnotu zodpovedajúcu lookup_value .
Pre funkciu MATCH:
- Lookup_value: Je to hodnota, ktorú hľadáme.
- Lookup_array: Je to pole, v ktorom hľadáme lookup_value Môže to byť riadok aj stĺpec.
- Match_type: Je to celé číslo označujúce typ hľadanej zhody. Tento údaj je nepovinný.
- Keď je -1 , MATCH bude najprv hľadať presnú zhodu. V prípade, že presnú zhodu nenájde, bude hľadať ďalšiu väčšiu hodnotu (Predvolené) (opačne ako pri XLOOKUP ).
Podmienkou však je, že lookup_array musia byť zoradené vzostupne. V opačnom prípade sa zobrazí chyba.
- Keď je 1 , MATCH bude tiež najprv hľadať presnú zhodu. V prípade, že presnú zhodu nenájde, bude hľadať ďalšiu menšiu hodnotu (opačne ako pri XLOOKUP ).
Podmienkou však je, že lookup_array musí byť tentoraz zoradený zostupne. V opačnom prípade sa zobrazí chyba.
- Keď je 0 , MATCH vyhľadá presnú zhodu.
Prečítajte si viac: Ako vybrať konkrétne údaje v programe Excel (6 metód)
7 Porovnanie použitia funkcií XLOOKUP a INDEX-MATCH
Teraz sme rozobrali vzorec, poďme diskutovať o niektorých podobnostiach a odlišnostiach medzi týmito dvoma funkciami. Skôr ako prejdeme k hlavným diskusiám, uvádzam pre vaše pohodlie hlavné body v tabuľke.
Bod diskusie | Podobnosť/nepodobnosť | Vysvetlenie |
Stĺpec lookup_array | Podobnosť | Oba podporujú stĺpec ako pole lookup_array. |
Riadok lookup_array | Podobnosť | Obidve podporujú riadok ako pole lookup_array. |
Žiadna zhoda hodnoty lookup_value | Rozdielnosť | XLOOKUP má predvolenú možnosť nastavenia bez porovnávania hodnoty lookup_value. INDEX-MATCH ju však nemá. |
Približná zhoda | Čiastočná podobnosť | XLOOKUP dokáže zistiť ďalšiu menšiu alebo ďalšiu väčšiu hodnotu, ak neexistuje presná zhoda. INDEX-MATCH to dokáže tiež, ale pole lookup_array musí byť zoradené vzostupne alebo zostupne. |
Zodpovedajúce zástupné znaky | Podobnosť | Obe podporujú zodpovedajúce zástupné znaky. |
Porovnávanie viacerých hodnôt | Čiastočná podobnosť | XLOOKUP môže zistiť buď prvú, alebo poslednú hodnotu, ak sa zhoduje viac hodnôt. INDEX-MATCH však môže vrátiť len prvú zhodnú hodnotu. |
Vzorec poľa | Podobnosť | Obe podporujú vzorec poľa. |
1. XLOOKUP a INDEX-MATCH na vyhľadávanie hodnoty v stĺpci
V tomto ohľade je medzi oboma funkciami podobnosť. XLOOKUP a INDEX-MATCH , pole lookup_array môže byť stĺpcom pre obe funkcie. Tu hľadáme presný Známky z fyziky mena študenta v C ell F5 , Jennifer Marlo Chceli sme hľadať zhora nadol v Meno študenta a vrátiť " Nenájdené " v prípade, že nebola nájdená žiadna zhoda.
- Pre XLOOKUP , použite vzorec v Bunka G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)
- Pre INDEX-MATCH , použite tento vzorec v Bunka G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)
Prečítajte si viac: Ako porovnať viacero kritérií z rôznych polí v programe Excel
2. XLOOKUP a INDEX-MATCH na vyhľadanie hodnoty v riadku
Aj v tomto aspekte existuje podobnosť medzi oboma funkciami. XLOOKUP a INDEX-MATCH ,. lookup_array môže byť tiež riadkom pre obe funkcie. Pre ilustráciu, máme nový súbor údajov s ID , Názvy a Známky z fyziky a Triedy .
Uvažujme na chvíľu, že ide o veľmi široký súbor údajov a že nevieme, aký počet Trieda Potom, ak chceme zistiť známku konkrétneho žiaka, musíme použiť Riadok záhlavia (B4:E4) ako pole lookup_array a slovo " Trieda " ako lookup_value . Môžeme to dosiahnuť pomocou oboch XLOOKUP a INDEX-MATCH .
- Zistenie triedy 3. študent ,. XLOOKUP vzorec bude takýto v Bunka G5 .
=XLOOKUP("Grade",B4:E4,B7:E7, "Not Found",0,1)
- V tomto prípade sa INDEX-MATCH vzorec bude:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))
3. XLOOKUP a INDEX-MATCH Keď sa nenájde žiadna zhoda
Tieto dve funkcie sú v tomto ohľade odlišné. Ak sa hodnota lookup_value nezhoduje so žiadnou hodnotou v lookup_array , môžete nastaviť pevnú hodnotu, ktorá sa má vrátiť v XLOOKUP Ak to chcete urobiť, musíte túto hodnotu nastaviť v if_not_found Na druhej strane, takáto možnosť nie je v INDEX-MATCH . Vráti chybu. Musíte použiť funkcia IFERROR vonku na spracovanie chyby. V danom súbore údajov zistíme Meno študenta s ID 100 .
- Na tento účel použite nasledujúce XLOOKUP vzorec v Bunka G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)
- Na druhej strane, použite tento INDEX-MATCH vzorec.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)
- Keďže vráti chybu, musíte použiť IFERROR funkcia mimo, ktorá túto chybu spracuje.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Nenájdené")
Podobné čítania
- Excel INDEX MATCH na vrátenie viacerých hodnôt v jednej bunke
- Vzorec Excel INDEX-MATCH na vrátenie viacerých hodnôt horizontálne
- Ako používať vzorec INDEX-MATCH v programe Excel na generovanie viacerých výsledkov
- [Opravené!] INDEX MATCH nevracia správnu hodnotu v programe Excel (5 dôvodov)
- Ako používať INDEX MATCH namiesto VLOOKUP v programe Excel (3 spôsoby)
4. XLOOKUP a INDEX-MATCH v prípade približnej zhody
V tomto ohľade existuje čiastočná podobnosť medzi oboma funkciami. XLOOKUP ak je funkcia lookup_value sa nezhoduje so žiadnou hodnotou v lookup_array , môžete vzorec upraviť tak, aby vrátil najbližšiu menšiu alebo najbližšiu väčšiu hodnotu. Nastavte argument match_type na -1 ak chcete ďalšiu menšiu hodnotu a nastavte ju na 1 ak chcete ďalšiu väčšiu hodnotu.
Napríklad zistíme, že študent so známkou 50 alebo ďalšiu väčšiu značku.
- Ak chcete zistiť hodnotu, použite tento postup XLOOKUP vzorec.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)
- Ako vidíte, neexistuje študent so známkou 50 Preto sa zobrazuje hneď po 50 , 51 podľa Desmond Hayes .
Rovnaká možnosť je aj v INDEX-MATCH Vzorec. Nedostatkom však je, že ak chcete získať ďalšiu väčšiu hodnotu, musíte zoradiť pole lookup_array zostupne. V opačnom prípade sa vráti chyba. A ak chcete získať ďalšiu menšiu hodnotu, musíte zoradiť vzostupne.
- Najprv vložte tento vzorec do Bunka G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)
- Výsledkom je, že sa vo výsledku zobrazí #N/A chyba.
- Preto zoraďte Rozsah buniek D5:D16 vo vzostupnom poradí a dostanete správnu hodnotu.
Prečítajte si viac: Ako používať INDEX a Match na čiastočnú zhodu (2 spôsoby)
5. XLOOKUP a INDEX-MATCH v prípade porovnávania zámenných znakov
V tomto ohľade je medzi týmito dvoma funkciami podobnosť. XLOOKUP a INDEX-MATCH , obe podporujú Divoké karty . Tu zistíme, že každý študent s " Marlo " ako druhý názov. Postupujme podľa nižšie uvedených krokov, aby sme videli XLOOKUP vs INDEX-MATCH porovnanie.
- Najprv použite tento XLOOKUP vzorec v Bunka G5 na získanie výstupu.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)
Poznámka: Používanie zástupných znakov v XLOOKUP , musíte nastaviť match_type argument na 2 V opačnom prípade nebude fungovať. - Na druhej strane INDEX-MATCH vzorec na dosiahnutie rovnakej úlohy bude takýto.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)
Prečítajte si viac: INDEX MATCH Viaceré kritériá so zástupným znakom v programe Excel (kompletný sprievodca)
6. XLOOKUP a INDEX-MATCH Keď sa viac hodnôt zhoduje s hodnotou vyhľadávania
Tento príklad ukazuje XLOOKUP vs INDEX-MATCH keď sa vyhľadávanej hodnote zhoduje viacero hodnôt. V tomto ohľade existuje aj čiastočná podobnosť medzi oboma funkciami. XLOOKUP a INDEX-MATCH vracajú iba jednu hodnotu v prípade, že je v položke lookup_array zodpovedá lookup_value . Ale v XLOOKUP môžete upraviť vyhľadávanie tak, aby ste získali prvú alebo poslednú zhodu. Ak chcete získať prvú zhodnú hodnotu, nastavte search_type argument na 1 . A ak chcete získať poslednú zhodnú hodnotu, nastavte search_type argument na -1 . Ale v INDEX-MATCH nemáte na výber. Dostanete len prvú zhodnú hodnotu.
- Získať prvého študenta, ktorý dostal 100 , môžete použiť tento XLOOKUP vzorec v Bunka G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)
- Spolu s ním získate posledného študenta s 100 pomocou tohto XLOOKUP vzorec.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)
- Naopak, dostanete len prvú hodnotu, ktorá sa zhoduje s touto INDEX-MATCH vzorec.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)
7. XLOOKUP a INDEX-MATCH v prípade viacerých hodnôt vyhľadávania
V tomto príklade ukážeme. XLOOKUP vs INDEX-MATCH v prípade viacnásobného vyhľadávania hodnôt. V tomto ohľade existuje podobnosť medzi oboma funkciami. Obe umožňujú viacnásobné lookup_values (Vzorec poľa).
- Pre XLOOKUP bude fungovať nasledujúci vzorec.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)
- Potom pre INDEX-MATCH , bude fungovať aj nasledujúca funkcia.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)
Výhody a nevýhody funkcie XLOOKUP
Používanie systému má určité výhody a nevýhody XLOOKUP funkcie. Pozrime sa na ne v krátkosti.
Výhody
- Nastavenie predvolenej hodnoty pre prípady bez zhody.
- Môže vyhľadávať približné zhody bez triedenia lookup_array .
- Prístup k vyhľadávaniu z prvej aj poslednej bunky lookup_array .
Nevýhody
- Funguje pomalšie ako INDEX-MATCH funkcie.
- K dispozícii v Office 365 iba.
Výhody a nevýhody funkcií INDEX-MATCH
Stránka INDEX-MATCH funkcie majú aj niektoré z nasledujúcich výhod a nevýhod.
Výhody
- Funguje rýchlejšie ako XLOOKUP funkcie.
- K dispozícii v starej Excel verzie.
Nevýhody
- Nedokáže spracovať chyby, keď sa nenájde žiadna zhoda.
- Potrebuje lookup_array ktoré sa majú triediť na približnú zhodu.
- Vráti iba prvú hodnotu, ak sa viac hodnôt zhoduje s lookup_value .
Záver
Konečne sme na konci nášho dlhého článku. Tu sme sa pokúsili vytvoriť komparatívnu analýzu XLOOKUP proti INDEX-MATCH funkcie v programe Excel. Dajte nám vedieť svoje postrehy k tejto téme. ExcelWIKI ďalšie návody.