Obsah
Tento výukový kurz se zabývá různými způsoby použití funkce ISNA v aplikaci Excel pro zpracování chyb #N/A.
Když Excel nemůže najít to, co se po něm chce, objeví se v buňce chyba #N/A. K zachycení a ošetření takových chyb můžete použít funkci ISNA. Jaký je její praktický přínos? V podstatě pomáhá k tomu, aby vaše vzorce byly uživatelsky přívětivější a vaše pracovní listy vypadaly lépe.
Funkce ISNA v aplikaci Excel
Funkce ISNA aplikace Excel slouží ke kontrole buněk nebo vzorců na výskyt chyb #N/A. Výsledkem je logická hodnota: TRUE, pokud je zjištěna chyba #N/A, FALSE v opačném případě.
Funkce je k dispozici ve všech verzích aplikace Excel 2000 až 2021 a v aplikaci Excel 365.
Syntaxe funkce ISNA je tak jednoduchá, jak jen může být:
ISNA(hodnota)Kde: hodnota je hodnota buňky nebo vzorce, který chcete zkontrolovat na chyby #N/A.
Chcete-li vytvořit vzorec ISNA v jeho základní podobě, zadejte jako jeho jediný argument odkaz na buňku:
=ISNA(A2)
V případě, že odkazovaná buňka obsahuje chybu #N/A, zobrazí se TRUE. V případě jiné chyby, hodnoty nebo prázdné buňky se zobrazí FALSE:
Jak používat ISNA v aplikaci Excel
Používání funkce ISNA v její čisté podobě nemá příliš praktický smysl. Častěji se používá společně s jinými funkcemi k vyhodnocení výsledku určitého vzorce. K tomu stačí vložit tento jiný vzorec do pole hodnota argument ISNA:
ISNA( your_formula ())Předpokládejme, že v níže uvedeném souboru dat chcete porovnat dva seznamy (sloupce A a D) a určit jména, která se vyskytují v obou seznamech, a jména, která se vyskytují pouze v seznamu 1.
Pro porovnání jména ve sloupci A3 s každým jménem ve sloupci D se použije vzorec:
=MATCH(A3, $D$2:$D$9, 0)
Pokud je nalezena hledaná hodnota, funkce MATCH vrátí její relativní pozici v poli hledaných hodnot, v opačném případě dojde k chybě #N/A. Pro otestování výsledku funkce MATCH ji vnoříme do ISNA:
=ISNA(MATCH(A3, $D$2:$D$9, 0))
Tento vzorec se přenese do B3 a poté se zkopíruje přes B14.
Nyní můžete jasně vidět, kteří studenti prošli všemi testy (ve sloupci D> MATCH vrací #N/A> ISNA vrací TRUE) a kteří mají alespoň jeden neúspěšný test (ve sloupci D> se objeví jméno bez chyby> ISNA vrací FALSE).
Tip: V aplikacích Excel 365 a Excel 2021 můžete místo funkce MATCH použít modernější funkci XMATCH.
Vzorec IF ISNA v aplikaci Excel
Funkce ISNA může podle svého návrhu vrátit pouze dvě logické hodnoty. Chcete-li zobrazit vlastní zprávy, použijte ji v kombinaci s funkcí IF:
IF(ISNA(...), " text_if_error ", " text_if_no_error ")Pokud náš příklad ještě trochu upřesníme, zjistíme, kteří studenti ze skupiny A neprošli žádným testem, a vrátíme pro ně hodnotu "Žádný test neprošel". Pro zbývající studenty vrátíme hodnotu "Neprošel". To provedeme tak, že do logického testu IF vložíme vzorec ISNA MATCH, takže IF se stane krajní funkcí:
=IF(ISNA(MATCH(A3,$D$2:$D$9,0)), "Žádné neúspěšné testy", "Neúspěšné")
Výsledky nyní vypadají mnohem lépe a intuitivněji, souhlasíte?
Jak používat ISNA v aplikaci Excel pomocí VLOOKUP
Kombinace IF ISNA je univerzálním řešením, které lze použít s jakoukoli funkcí, která hledá něco v souboru dat a vrací chybu #N/A, pokud není nalezena hledaná hodnota.
Syntaxe funkce ISNA s VLOOKUP je následující:
IF(ISNA(VLOOKUP(...), " custom_text ", VLOOKUP(...))Přeloženo do lidského jazyka to znamená: pokud VLOOKUP vede k chybě #N/A, vraťte vlastní text, jinak vraťte výsledek VLOOKUP.
V naší ukázkové tabulce předpokládejme, že chcete vrátit předměty, ve kterých studenti neuspěli u testů. U těch, kteří úspěšně absolvovali všechny testy, se zobrazí "Žádné neúspěšné testy".
Pro vyhledání předmětů sestavíme tento klasický vzorec VLOOKUP:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
A poté jej vložte do obecného vzorce IF ISNA, o kterém jsme hovořili výše:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Žádné neúspěšné testy", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
V aplikaci Excel 2013 a novějších verzích můžete využít funkci IFNA k zachycení a zpracování chyb #N/A. Díky tomu je vzorec kratší a přehlednější.
Jako příklad nahradíme chyby #N/A pomlčkami ("-") a získáme toto elegantní řešení:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "-")
Uživatelé aplikace Excel 365 a 2021 nepotřebují žádnou obalovou funkci, protože moderní nástupce funkce VLOOKUP, funkce XLOOKUP, umí nativně zpracovávat chyby #N/A:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "-")
Výsledek bude přesně stejný jako na obrázku výše.
Vzorec SUMPRODUCT ISNA pro počítání chyb #N/A
Chcete-li spočítat chyby #N/A v určitém rozsahu, použijte funkci ISNA spolu s funkcí SUMPRODUCT tímto způsobem:
SUMPRODUCT(--ISNA( rozsah ))Zde ISNA vrátí pole hodnot TRUE a FALSE, dvojitá negace (--) rozdělí logické hodnoty na 1 a 0 a SUMPRODUCT sečte výsledek.
Chcete-li například zjistit, kolik studentů uspělo ve všech testech, upravte vzorec MATCH pro rozsah vyhledávacích hodnot (A3:A14) a vnořte jej do ISNA:
=SUMPRODUCT(--ISNA(MATCH(A3:A14, D2:D9, 0)))
Vzorec určí, že 9 studentů nemá žádný neúspěšný test, tj. funkce MATCH vrátí 9 chyb #N/A:
To je návod, jak vytvářet a používat vzorce ISNA v aplikaci Excel. Děkuji vám za přečtení a těším se na vás na našem blogu příští týden!
Dostupné soubory ke stažení
Příklady vzorců ISNA (.xlsx soubor)