XLOOKUP vs INDEX-MATCH v aplikaci Excel (všechna možná srovnání)

  • Sdílet Toto
Hugh West

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.
  1. Když je 0 , XLOOKUP bude hledat přesnou shodu (Výchozí).
  2. Když je 1 , XLOOKUP bude nejprve hledat přesnou shodu. Pokud přesnou shodu nenajde, bude hledat nejbližší menší hodnotu.
  3. Když je -1 , XLOOKUP bude nejprve hledat přesnou shodu. Pokud přesnou shodu nenajde, bude hledat další větší hodnotu.
  4. 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:
  1. Pokud je 1 , XLOOKUP bude vyhledávat shora dolů v lookup_array (Výchozí nastavení).
  2. Když je -1 , XLOOKUP bude vyhledávat odspodu nahoru v
  3. Pokud je 2 , XLOOKUP provede binární vyhledávání ve vzestupném pořadí.
  4. 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ý.
  1. 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.

  1. 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.

  1. 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.

Zvláštní poznámka: V XLOOKUP funkce, -1 funguje pro další menší hodnotu, ale v INDEX-MATCH , -1 pracuje pro další větší hodnotu. Podobně v případě funkce XLOOKUP 1 funguje pro další větší hodnotu, ale v INDEX-MATCH, 1 funguje pro další menší 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.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.