Vzorec IF ISERROR VLOOKUP v aplikaci Excel a jeho alternativy

  • Sdílet Toto
Michael Brown

V tomto návodu se podíváme na to, jak v aplikaci Excel použít funkci ISERROR s VLOOKUP k produktivnímu zpracování všech druhů chyb.

VLOOKUP je jedna z nejzmatenějších funkcí Excelu, kterou trápí mnoho problémů. Ať už se díváte do jakékoliv tabulky, chyby #N/A jsou běžným jevem a sem tam se objeví i #NAME a #VALUE. Použití VLOOKUP s funkcí ISERROR vám pomůže zachytit všechny možné chyby a řešit je způsobem, který je pro vaši situaci nejvhodnější.

    Proč VLOOKUP hlásí chybu?

    Nejčastější chybou ve vzorcích VLOOKUP je. #N/A k tomu dochází, když není nalezena hodnota vyhledávání. K tomu může dojít z různých důvodů:

    • Hodnota vyhledávání neexistuje v poli vyhledávání.
    • Hodnota vyhledávání je špatně napsaná.
    • V hodnotě vyhledávání nebo ve sloupci vyhledávání jsou počáteční nebo koncové mezery.
    • Sloupec vyhledávání není nejlevějším sloupcem pole tabulky.

    Kromě toho můžete narazit na #VALUE! např. když hodnota vyhledávání obsahuje více než 255 znaků. V případě, že je v názvu funkce pravopisná chyba, zobrazí se zpráva #NAME? zobrazí se chyba.

    Úplný odkaz naleznete v našem dřívějším příspěvku na téma Proč nefunguje Excel VLOOKUP.

    Vzorec IF ISERROR VLOOKUP pro nahrazení chyb vlastním textem

    Chcete-li zamaskovat všechny možné chyby, které může VLOOKUP vyvolat, můžete jej umístit do vzorce IF ISERROR takto:

    IF(ISERROR(VLOOKUP(...)), " text_if_error ", VLOOKUP(...))

    Jako příklad si vytáhněme názvy předmětů, ze kterých studenti skupiny A neuspěli v testech:

    =VLOOKUP(A3, $D$3:$E$9, 2, FALSE)

    Výsledkem je, že se zobrazuje řada chyb #N/A, což může vyvolat dojem, že vzorec je poškozený.

    Ve skutečnosti tyto chyby pouze naznačují, že některé z hodnot vyhledávání (A3:A14) se nenacházejí v seznamu vyhledávání (D3:D9). Chcete-li tuto myšlenku jasně vyjádřit, vnořte svůj vzorec VLOOKUP do konstrukce IF ISERROR:

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ne", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))

    Tím se zachytí chyby a vrátí se vlastní textová zpráva:

    Tipy a poznámky:

    • Hlavní výhodou tohoto vzorce je to, že funguje dobře v. všechny verze Excel 2000 až Excel 365. V moderních verzích jsou k dispozici jednodušší a kompaktnější alternativy.
    • Funkce ISERROR zachytí naprosto všechny chyby , například #N/A, #NAME, #VALUE atd. V případě, že chcete zobrazit vlastní zprávu pouze v případě, že hodnota vyhledávání nebyla nalezena (chyba #N/A), použijte IF ISNA VLOOKUP (ve všech verzích) nebo IFNA VLOOKUP (v aplikaci Excel 2013 a novějších).

    ISERROR VLOOKUP pro vrácení prázdné buňky v případě chyby

    Chcete-li při chybě zobrazit prázdnou buňku, nastavte vzorec tak, aby místo vlastního textu vracel prázdný řetězec (""):

    IF(ISERROR(VLOOKUP(...)), "", VLOOKUP(...))

    V našem případě má vzorec tento tvar:

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))

    Výsledek je přesně takový, jaký se očekával - prázdná buňka, pokud jméno studenta není ve vyhledávací tabulce nalezeno.

    Tip. Podobným způsobem můžete nahradit chyby VLOOKUP nulami, pomlčkami nebo jakýmkoli jiným znakem. Stačí použít požadovaný znak místo prázdného řetězce.

    IF ISERROR VLOOKUP Ano/Ne vzorec

    V některých situacích se může stát, že něco hledáte, ale místo vytahování zápalek se chcete jen vrátit. Ano (nebo jiný text, pokud je hodnota vyhledávání nalezena) a Ne (pokud není nalezena hodnota vyhledávání). Chcete-li to provést, můžete použít tento obecný vzorec:

    IF(ISERROR(VLOOKUP(...)), " text_if_not_found ", " text_if_found ")

    Předpokládejme, že v naší ukázkové datové sadě chcete zjistit, kteří studenti v testu neuspěli a kteří ne. Toho dosáhnete tak, že již známý vzorec ISERROR VLOOKUP nasadíte na logický test IF a řeknete mu, aby v případě nenalezení hodnoty vypsal "Ne" (ISERROR VLOOKUP vrátí TRUE), v případě nalezení "Ano" (ISERROR VLOOKUP vrátí FALSE):

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ne", "Ano")

    Alternativy ISERROR VLOOKUP

    Kombinace IF ISERROR je nejstarší časem prověřenou technikou, jak v Excelu provést Vlookup bez chyb. Postupem času se vyvinuly nové funkce, které poskytují jednodušší způsoby, jak provést stejný úkol. Níže si probereme další možná řešení a kdy je nejlepší každé z nich použít.

    IFERROR VLOOKUP

    K dispozici v aplikaci Excel 2007 a vyšší

    Od verze 2007 má Excel speciální funkci IFERROR, která kontroluje vzorec na přítomnost chyb a v případě zjištění chyby vrátí vlastní text (nebo spustí alternativní vzorec).

    IFERROR(VLOOKUP(...), " text_if_error ")

    Reálný vzorec je následující:

    =IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Ne")

    Na první pohled vypadá jako kratší obdoba vzorce IF ISERROR VLOOKUP. Je zde však podstatný rozdíl:

    • IFERROR VLOOKUP předpokládá, že chcete vždy výsledek VLOOKUP, pokud se nejedná o chybu.
    • IF ISERROR VLOOKUP umožňuje určit, co se má vrátit v případě chyby a co v případě, že chyba nenastala.

    Další podrobnosti naleznete v části Použití IFERROR s VLOOKUP v aplikaci Excel.

    IF ISNA VLOOKUP

    Funguje v aplikaci Excel 2000 a novější

    V situaci, kdy chcete zachytit pouze #N/A bez zachycení jiných chyb, se hodí funkce ISNA. Syntaxe je stejná jako u IF ISERROR VLOOKUP:

    IF(ISNA(VLOOKUP(...)), " text_if_error ", VLOOKUP(...))

    Za určitých okolností však může tento zdánlivě stejný vzorec přinést odlišné výsledky:

    =IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ne", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))

    Na obrázku níže obsahuje buňka A13 spoustu koncovek, kvůli nimž celková délka vyhledávané hodnoty přesahuje 255 znaků. V důsledku toho vzorec vyvolá chybu #VALUE!, která vás upozorní na tuto buňku a vybídne k prozkoumání příčin. ISERROR VLOOKUP by v tomto případě vrátil "Ne", což by pouze zamlžilo problém a poskytlo naprosto chybný výsledek.

    Kdy použít:

    Tento vzorec funguje skvěle v situaci, kdy chcete zobrazit nějaký text pouze tehdy, když není nalezena hodnota vyhledávání, a nechcete maskovat základní problémy se samotným vzorcem VLOOKUP, např. když je název funkce chybně zadán (#NAME?) nebo není zadána úplná cesta k vyhledávacímu sešitu (#VALUE!).

    Další informace naleznete v části Funkce ISNA v aplikaci Excel s příklady vzorců.

    IFNA VLOOKUP

    K dispozici v aplikaci Excel 2013 a vyšší

    Jedná se o moderní náhradu kombinace IF ISNA, která umožňuje jednodušší zpracování chyb #N/A.

    IFNA(VLOOKUP(...), " text_if_error ")

    Zde je zkrácený ekvivalent našeho vzorce IF ISNA VLOOKUP:

    =IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Ne")

    Kdy použít:

    Je to ideální řešení pro zachycení a zpracování chyb #N/A v moderních verzích aplikace Excel (2013 - 365).

    Podrobné informace naleznete v části Funkce IFNA aplikace Excel.

    XLOOKUP

    Podporováno v aplikacích Excel 2021 a Excel 365

    Díky vestavěné funkci "if error" je funkce XLOOKUP nejjednodušším způsobem, jak v aplikaci Excel vyhledávat bez chyb #N/A. Jednoduše zadejte svůj uživatelsky přívětivý text do nepovinného 4. argumentu s názvem if_not_found .

    Například:

    =XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "Ne")

    Omezení: Zachytí pouze chyby #N/A, ostatní typy ignoruje.

    Další informace naleznete v článku Funkce XLOOKUP v aplikaci Excel.

    Jak vidíte, Excel nabízí poměrně hodně různých možností, jak se dostat k chybám VLOOKUP. Doufám, že tento návod osvětlil, jak je efektivně používat. Děkuji vám za přečtení a doufám, že se uvidíme na našem blogu příští týden!

    Dostupné soubory ke stažení

    ISERROR s příklady VLOOKUP (.xlsx soubor)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.