Obsah
Tento návod sa zaoberá rôznymi spôsobmi použitia funkcie ISNA v programe Excel na spracovanie chýb #N/A.
Keď Excel nemôže nájsť to, čo sa od neho žiada, v bunke sa objaví chyba #N/A. Na zachytenie a spracovanie takýchto chýb môžete použiť funkciu ISNA. Aký je jej praktický význam? V podstate pomáha urobiť vaše vzorce užívateľsky prívetivejšie a vaše pracovné hárky krajšie.
Funkcia ISNA v programe Excel
Funkcia ISNA programu Excel sa používa na kontrolu buniek alebo vzorcov na prítomnosť chýb #N/A. Výsledkom je logická hodnota: TRUE, ak sa zistí chyba #N/A, inak FALSE.
Funkcia je k dispozícii vo všetkých verziách programu Excel 2000 až 2021 a v programe Excel 365.
Syntax funkcie ISNA je taká jednoduchá, ako len môže byť:
ISNA(hodnota)Kde hodnota je hodnota bunky alebo vzorca, ktorý chcete skontrolovať na prítomnosť chýb #N/A.
Ak chcete vytvoriť vzorec ISNA v jeho základnej podobe, ako jediný argument zadajte odkaz na bunku:
=ISNA(A2)
V prípade, že odkazovaná bunka obsahuje chybu #N/A, dostanete TRUE. V prípade akejkoľvek inej chyby, hodnoty alebo prázdnej bunky dostanete FALSE:
Ako používať ISNA v programe Excel
Používanie funkcie ISNA v jej čistej podobe nemá veľký praktický zmysel. Častejšie sa používa spolu s inými funkciami na vyhodnotenie výsledku určitého vzorca. Na tento účel stačí vložiť tento iný vzorec do hodnota argument ISNA:
ISNA( your_formula ())Predpokladajme, že v nasledujúcom súbore údajov chcete porovnať dva zoznamy (stĺpce A a D) a identifikovať mená, ktoré sa nachádzajú v oboch zoznamoch, a tie, ktoré sa vyskytujú len v zozname 1.
Na porovnanie názvu v A3 s každým názvom v stĺpci D sa použije vzorec:
=MATCH(A3, $D$2:$D$9, 0)
Ak sa nájde hľadaná hodnota, funkcia MATCH vráti jej relatívnu pozíciu v poli hľadaných hodnôt, v opačnom prípade nastane chyba #N/A. Ak chceme otestovať výsledok funkcie MATCH, vnoríme ju do ISNA:
=ISNA(MATCH(A3, $D$2:$D$9, 0))
Tento vzorec sa prenesie do B3 a potom sa skopíruje cez B14.
Teraz môžete jasne vidieť, ktorí študenti prešli všetkými testami (v stĺpci D> MATCH vráti #N/A> ISNA vráti TRUE) a ktorí majú aspoň jeden neúspešný test (v stĺpci D> sa objaví meno bez chyby> ISNA vráti FALSE).
Tip. V aplikáciách Excel 365 a Excel 2021 môžete namiesto funkcie MATCH použiť modernejšiu funkciu XMATCH.
Vzorec IF ISNA v programe Excel
Podľa návrhu môže funkcia ISNA vrátiť len dve logické hodnoty. Ak chcete zobraziť vlastné správy, použite ju v kombinácii s funkciou IF:
IF(ISNA(...), " text_if_error ", " text_if_no_error ")Ak náš príklad ešte trochu spresníme, zistíme, ktorí študenti zo skupiny A nezlyhali v žiadnom teste, a vrátime pre nich hodnotu "Žiadny neúspešný test". Pre ostatných študentov vrátime hodnotu "Neúspešný". Na tento účel vložíme vzorec ISNA MATCH do logického testu IF, takže IF sa stane krajnou funkciou:
=IF(ISNA(MATCH(A3,$D$2:$D$9,0)), "No failed tests", "Failed")
Výsledky teraz vyzerajú oveľa lepšie a intuitívnejšie, súhlasíte?
Ako používať ISNA v programe Excel pomocou VLOOKUP
Kombinácia IF ISNA je univerzálnym riešením, ktoré možno použiť s akoukoľvek funkciou, ktorá hľadá niečo v súbore údajov a vracia chybu #N/A, keď sa hodnota vyhľadávania nenájde.
Syntax funkcie ISNA s VLOOKUP je nasledovná:
IF(ISNA(VLOOKUP(...), " custom_text ", VLOOKUP(...))Preložené do ľudského jazyka to znamená: ak je výsledkom VLOOKUP chyba #N/A, vráťte vlastný text, inak vráťte výsledok VLOOKUP.
Predpokladajme, že v našej vzorovej tabuľke chcete vrátiť predmety, v ktorých študenti neuspeli v testoch. Pre tých, ktorí úspešne absolvovali všetky testy, sa zobrazí "Žiadne neúspešné testy".
Na vyhľadanie predmetov vytvoríme tento klasický vzorec VLOOKUP:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
A potom ho vložte do všeobecného vzorca IF ISNA, o ktorom sme hovorili vyššie:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Žiadne neúspešné testy", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
V programe Excel 2013 a novších verziách môžete využiť funkciu IFNA na zachytenie a spracovanie chýb #N/A. Vďaka tomu je váš vzorec kratší a prehľadnejší.
Ako príklad môžeme nahradiť chyby #N/A pomlčkami ("-") a získať toto elegantné riešenie:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "-")
Používatelia aplikácie Excel 365 a 2021 nepotrebujú žiadnu obalovú funkciu, pretože moderný nástupca funkcie VLOOKUP, funkcia XLOOKUP, dokáže natívne spracovať chyby #N/A:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "-")
Výsledok bude presne taký istý, ako je znázornené na obrázku vyššie.
Vzorec SUMPRODUCT ISNA na počítanie chýb #N/A
Ak chcete spočítať chyby #N/A v určitom rozsahu, použite funkciu ISNA spolu s funkciou SUMPRODUCT týmto spôsobom:
SUMPRODUCT(--ISNA( rozsah ))Tu ISNA vráti pole hodnôt TRUE a FALSE, dvojitá negácia (--) zmení logické hodnoty na 1 a 0 a SUMPRODUCT sčíta výsledok.
Ak chcete napríklad zistiť, koľko študentov uspelo vo všetkých testoch, upravte vzorec MATCH pre rozsah vyhľadávacích hodnôt (A3:A14) a vložte ho do ISNA:
=SUMPRODUCT(--ISNA(MATCH(A3:A14, D2:D9, 0))
Vzorec určí, že 9 študentov nemá žiadne neúspešné testy, t. j. funkcia MATCH vráti 9 chýb #N/A:
Takto sa vytvárajú a používajú vzorce ISNA v programe Excel. Ďakujem vám za prečítanie a teším sa na vás na našom blogu budúci týždeň!
Dostupné súbory na stiahnutie
Príklady vzorcov ISNA (.xlsx súbor)