Obsah
Dnes provedu srovnávací analýzu XLOOKUP vs Funkce INDEX-MATCH na adrese Excel V dřívějších verzích Excel , jsme používali HLOOKUP ... VLOOKUP a INDEX-MATCH funkce pro hledání konkrétní hodnoty v rozsahu buněk. Nicméně s příchodem funkce Office 365 , Excel nám poskytl novou a dynamickou funkci, tzv. XLOOKUP funkci, která podobnou operaci provede sofistikovaněji. V tomto článku se pokusím porovnat široce používané funkce, a to funkci XLOOKUP a INDEX-MATCH .
Stáhnout cvičebnici
Pro lepší pochopení si pořiďte tento ukázkový soubor.
Funkce XLOOKUP vs INDEX-MATCH.xlsxÚvod do funkce XLOOKUP
Na stránkách XLOOKUP Funkce slouží k nalezení konkrétní hodnoty v rozsahu buněk nebo pole. Poté vrátí odpovídající první shodu. Pokud neexistuje přesná shoda, zobrazí také nejbližší nebo přibližnou shodu.
Syntaxe:
=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])
Argumenty:
- Lookup_value : Jedná se o hodnotu, kterou hledáme v určitém sloupci rozsahu.
- Lookup_array : Jedná se o pole, ve kterém hledáme údaje. lookup_value . Může to být řádek i sloupec.
- Return_array: Jedná se o sloupec, ze kterého se získá příslušná hodnota položky lookup_value budou vráceny.
Nepovinné argumenty:
- If_not_found : Jedná se o hodnotu, která bude vrácena v případě, že se lookup_array nemá hodnotu lookup_value.
- Match_mode : Jedná se o číslo označující typ shody v položce lookup_value Jedná se o nepovinný argument. Může obsahovat čtyři hodnoty.
- Když je 0 , XLOOKUP bude hledat přesnou shodu (Výchozí).
- Když je 1 , XLOOKUP bude nejprve hledat přesnou shodu. Pokud přesnou shodu nenajde, bude hledat nejbližší menší hodnotu.
- Když je -1 , XLOOKUP bude nejprve hledat přesnou shodu. Pokud přesnou shodu nenajde, bude hledat další větší hodnotu.
- Když je 2 , XLOOKUP nejprve vyhledá přibližnou shodu pomocí zástupných znaků (platí pouze pro hodnoty vyhledávání řetězců).
- Search_mode : Je to číslo označující typ vyhledávací operace provedené nad lookup_array. Je rovněž nepovinné. Může mít také čtyři hodnoty:
- Pokud je 1 , XLOOKUP bude vyhledávat shora dolů v lookup_array (Výchozí nastavení).
- Když je -1 , XLOOKUP bude vyhledávat odspodu nahoru v
- Pokud je 2 , XLOOKUP provede binární vyhledávání ve vzestupném pořadí.
- Když je -2 , XLOOKUP provede binární vyhledávání v sestupném pořadí.
Úvod do funkcí INDEX-MATCH
Kombinace INDEX-MATCH slouží k načtení hodnoty z daného umístění a jejímu porovnání se zdrojovým rozsahem.
Syntaxe:
=INDEX(pole,MATCH(hodnota_hledání,pole_hledání,typ_zápasu),no_of_column)
Argumenty:
Pro funkci INDEX:
- Pole : Jedná se o rozsah buněk, ze kterých chceme získat hodnotu.
- MATCH(lookup_value,lookup_array,match_type): Jedná se o číslo řádku rozsahu, ve kterém se nachází lookup_value odpovídá konkrétní hodnotě v lookup_array .
- No_of_column: Je to číslo sloupce pole, z něhož chceme vrátit hodnotu odpovídající zadanému parametru. lookup_value .
Pro funkci MATCH:
- Lookup_value: Je to hodnota, kterou hledáme.
- Lookup_array: Jedná se o pole, ve kterém hledáme lookup_value . Může to být řádek i sloupec.
- Match_type: Jedná se o celé číslo označující typ hledané shody. Tento údaj je nepovinný.
- Když je -1 , MATCH bude nejprve hledat přesnou shodu. V případě, že přesná shoda nebude nalezena, bude hledat další větší hodnotu (Výchozí) (opačně než u hodnoty XLOOKUP ).
Podmínkou však je, že lookup_array musí být seřazeny vzestupně, jinak se zobrazí chyba.
- Když je 1 , MATCH bude také nejprve hledat přesnou shodu. V případě, že přesná shoda nebude nalezena, bude hledat nejbližší menší hodnotu (opačně než u hodnoty XLOOKUP ).
Podmínkou však je, že lookup_array musí být tentokrát seřazeny sestupně. Jinak se zobrazí chyba.
- Když je 0 , MATCH vyhledá přesnou shodu.
Přečtěte si více: Jak vybrat konkrétní data v aplikaci Excel (6 metod)
7 Porovnání použití funkcí XLOOKUP a INDEX-MATCH
Nyní jsme vzorec rozebrali, pojďme probrat některé podobnosti a odlišnosti obou funkcí. Než přejdeme k hlavní diskusi, uvádím pro vaše pohodlí hlavní body v tabulce.
Bod diskuse | Podobnost/nepodobnost | Vysvětlení |
Sloupec lookup_array | Podobnost | Oba podporují sloupec jako pole lookup_array. |
Řádek lookup_array | Podobnost | Obě podporují řádek jako pole lookup_array. |
Žádná shoda s hodnotou lookup_value | Rozdílnost | XLOOKUP má ve výchozím nastavení možnost bez přiřazení hodnoty lookup_value. INDEX-MATCH ji však nemá. |
Přibližná shoda | Částečná podobnost | XLOOKUP dokáže zjistit další menší nebo další větší hodnotu, pokud neexistuje přesná shoda. INDEX-MATCH to dokáže také, ale pole lookup_array musí být seřazeno vzestupně nebo sestupně. |
Odpovídající zástupné znaky | Podobnost | Obě podporují přiřazování zástupných znaků. |
Shoda více hodnot | Částečná podobnost | XLOOKUP může při shodě více hodnot zjistit buď první, nebo poslední hodnotu. INDEX-MATCH však může vrátit pouze první hodnotu, která se shoduje. |
Vzorec pole | Podobnost | Obě podporují vzorec pole. |
1. XLOOKUP a INDEX-MATCH pro vyhledání hodnoty ve sloupci
Obě funkce jsou si v tomto ohledu podobné. XLOOKUP a INDEX-MATCH , může být pole lookup_array sloupcem pro obě funkce. Zde hledáme přesný údaj Známky z fyziky jména studenta v C ell F5 , Jennifer Marlo . Chtěli jsme hledat shora dolů v Jméno studenta a vrátit " Nenalezeno " v případě, že nebyla nalezena žádná shoda.
- Pro XLOOKUP , použijte vzorec v Buňka G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)
- Pro INDEX-MATCH , použijte tento vzorec v Buňka G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)
Přečtěte si více: Jak v aplikaci Excel porovnat více kritérií z různých polí
2. XLOOKUP a INDEX-MATCH pro vyhledání hodnoty v řádku
I v tomto ohledu existuje mezi oběma funkcemi podobnost. Pro XLOOKUP a INDEX-MATCH ... lookup_array může být také řádek pro obě funkce. Pro ilustraci, máme novou datovou sadu s funkcí ID , Jména a Známky z fyziky a Třídy .
Uvažujme na chvíli, že se jedná o velmi rozsáhlý soubor dat a že nevíme, jaký je počet Třída Pro zjištění známky konkrétního žáka pak musíme použít sloupec Řádek záhlaví (B4:E4) jako pole lookup_array a slovo " Třída " jako lookup_value . Můžeme toho dosáhnout pomocí obou XLOOKUP a INDEX-MATCH .
- Zjištění stupně 3. student ... XLOOKUP vzorec bude vypadat takto Buňka G5 .
=XLOOKUP("Grade",B4:E4,B7:E7, "Not Found",0,1)
- Pro tento případ se INDEX-MATCH vzorec bude:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))
3. XLOOKUP a INDEX-MATCH při nenalezení shody
Obě funkce jsou v tomto ohledu odlišné. Pokud se hodnota lookup_value neshoduje s žádnou hodnotou v souboru lookup_array , můžete nastavit pevnou hodnotu, která se má vrátit v položce XLOOKUP . Chcete-li to provést, musíte tuto hodnotu nastavit v položce if_not_found Na druhou stranu, taková možnost není k dispozici. INDEX-MATCH . Vrátí chybu. Musíte použít příkaz funkce IFERROR venku, aby se chyba zpracovala. V daném souboru dat zjistíme, že Jméno studenta s ID 100 .
- K tomu použijte následující XLOOKUP vzorec v Buňka G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)
- Na druhou stranu použijte tento INDEX-MATCH vzorec.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)
- Protože vrací chybu, musíte použít příkaz IFERROR funkci mimo, která tuto chybu zpracovává.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Nenalezeno")
Podobná čtení
- INDEX MATCH aplikace Excel pro vrácení více hodnot v jedné buňce
- Vzorec INDEX-MATCH aplikace Excel pro horizontální vrácení více hodnot
- Jak použít vzorec INDEX-MATCH v aplikaci Excel pro generování více výsledků
- [Opraveno!] INDEX MATCH nevrací správnou hodnotu v aplikaci Excel (5 důvodů)
- Jak používat INDEX MATCH místo VLOOKUP v aplikaci Excel (3 způsoby)
4. XLOOKUP a INDEX-MATCH v případě přibližných shod
V tomto ohledu existuje částečná podobnost mezi oběma funkcemi. XLOOKUP funkce, pokud je lookup_value neodpovídá žádné hodnotě v lookup_array , můžete vzorec upravit tak, aby vracel následující menší nebo následující větší hodnotu. Nastavte argument match_type na -1 pokud chcete další menší hodnotu a nastavit ji na hodnotu 1 pokud chcete další větší hodnotu.
Například zjistíme, že student se známkou 50 nebo další větší značku.
- Chcete-li zjistit hodnotu, použijte následující příkaz XLOOKUP vzorec.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)
- Jak vidíte, žádný student se známkou 50 . Proto se zobrazuje ten, který následuje hned po něm. 50 , 51 podle Desmond Hayes .
Stejná možnost je k dispozici v INDEX-MATCH Vzorec. Nedostatkem však je, že pokud chcete získat další větší hodnotu, musíte pole lookup_array seřadit sestupně. Jinak vrátí chybu. A pokud chcete získat další menší hodnotu, musíte ji seřadit vzestupně.
- Nejprve vložte tento vzorec do Buňka G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)
- Výsledkem je, že se ve výsledku zobrazí. #N/A chyba.
- Proto seřaďte Rozsah buněk D5:D16 ve vzestupném pořadí a získáte správnou hodnotu.
Přečtěte si více: Jak použít INDEX a Match pro částečnou shodu (2 způsoby)
5. XLOOKUP a INDEX-MATCH v případě shody se zástupnými znaky
V tomto ohledu je mezi oběma funkcemi podobnost. XLOOKUP a INDEX-MATCH , obě podporují Divoké karty . Zde zjistíme, že každý student s " Marlo " jako druhý název. Postupujme podle níže uvedených kroků a uvidíme. XLOOKUP vs INDEX-MATCH srovnání.
- Nejprve použijte tento XLOOKUP vzorec v Buňka G5 pro získání výstupu.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)
Poznámka: Použití zástupných znaků v XLOOKUP , musíte nastavit match_type argument na 2 . Jinak nebude fungovat. - Na druhé straně INDEX-MATCH vzorec pro splnění stejného úkolu bude vypadat následovně.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)
Přečtěte si více: INDEXOVÁ MATICE více kritérií se zástupným znakem v aplikaci Excel (kompletní průvodce)
6. XLOOKUP a INDEX-MATCH Když více hodnot odpovídá hodnotě vyhledávání
Tento příklad ukazuje XLOOKUP vs INDEX-MATCH když se vyhledávací hodnotě shoduje více hodnot. V tomto ohledu existuje také částečná podobnost mezi oběma funkcemi. XLOOKUP a INDEX-MATCH obě vracejí pouze jednu hodnotu v případě, že je v položce lookup_array odpovídat lookup_value . Ale v XLOOKUP můžete upravit vyhledávání tak, abyste získali první nebo poslední shodu. Chcete-li získat první hodnotu, která se shoduje, nastavte parametr search_type argument na 1 . A abyste získali poslední odpovídající hodnotu, nastavte parametr search_type argument na -1 . Ale v INDEX-MATCH nemáte na výběr. Získáte pouze první odpovídající hodnotu.
- Získat prvního studenta, který získal 100 , můžete použít tento XLOOKUP vzorec v Buňka G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)
- Spolu s ním získáte posledního studenta s 100 pomocí tohoto XLOOKUP vzorec.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)
- Naopak, získáte pouze první hodnotu, která odpovídá tomuto INDEX-MATCH vzorec.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)
7. XLOOKUP a INDEX-MATCH v případě více hodnot vyhledávání
V tomto příkladu si ukážeme. XLOOKUP vs INDEX-MATCH v případě více hodnot vyhledávání. V tomto ohledu je mezi oběma funkcemi podobnost. Obě umožňují vícenásobný lookup_values (Vzorec pole).
- Pro XLOOKUP bude fungovat následující vzorec.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)
- Pak pro INDEX-MATCH , bude fungovat také následující funkce.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)
Výhody a nevýhody funkce XLOOKUP
Používání systému má určité výhody a nevýhody. XLOOKUP funkce. Podívejme se na ně ve zkratce.
Výhody
- Nastavení výchozí hodnoty pro případy bez shody.
- Může vyhledávat přibližné shody bez třídění. lookup_array .
- Mít přístup k vyhledávání z první i poslední buňky pole lookup_array .
Nevýhody
- Funguje pomaleji než INDEX-MATCH funkce.
- K dispozici v Office 365 pouze.
Výhody & Nevýhody funkcí INDEX-MATCH
Na stránkách INDEX-MATCH funkce má také některé z následujících výhod a nevýhod.
Výhody
- Funguje rychleji než XLOOKUP funkce.
- K dispozici ve starém Excel verze.
Nevýhody
- Nelze zpracovat chyby, když není nalezena žádná shoda.
- Potřebuje lookup_array seřadit podle přibližných shod.
- Vrátí pouze první hodnotu, pokud se více hodnot shoduje s hodnotou lookup_value .
Závěr
Konečně jsme na konci našeho dlouhého článku. Zde jsme se pokusili vytvořit srovnávací analýzu. XLOOKUP proti INDEX-MATCH Dejte nám vědět své zasvěcené návrhy k tomuto tématu. Sledujte ExcelWIKI pro další výukové programy.