Kazalo
V tem priročniku si bomo ogledali, kako v Excelu uporabiti ISERROR z VLOOKUP za produktivno obravnavo vseh vrst napak.
VLOOKUP je ena od najbolj zmedenih funkcij programa Excel, ki jo pestijo številne težave. Ne glede na to, v katero tabelo iščete, so napake #N/A pogost pojav, tu in tam pa se pojavita tudi #NAME in #VALUE. Uporaba VLOOKUP z ISERROR vam lahko pomaga ujeti vse možne napake in jih obravnavati na način, ki je najbolj primeren za vašo situacijo.
Zakaj VLOOKUP daje napako?
Najpogostejša napaka v formulah VLOOKUP je #N/A ki se pojavi, ko vrednost iskanja ni najdena. To se lahko zgodi iz različnih razlogov:
- Vrednost iskanja ne obstaja v polju iskanja.
- Vrednost iskanja je napačno zapisana.
- V vrednosti iskanja ali stolpcu iskanja so začetni ali končni presledki.
- Stolpec iskanja ni skrajni levi stolpec tabelarnega polja.
Poleg tega lahko naletite na #VALUE! napaka, npr. če vrednost iskanja vsebuje več kot 255 znakov. Če je v imenu funkcije pravopisna napaka, se v imenu funkcije #NAME? pojavi se napaka.
Za celotno referenco si oglejte našo prejšnjo objavo o tem, zakaj Excelov VLOOKUP ne deluje.
IF ISERROR Formula VLOOKUP za zamenjavo napak z besedilom po meri
Če želite prikriti vse možne napake, ki jih lahko sproži VLOOKUP, ga lahko vstavite v formulo IF ISERROR na naslednji način:
IF(ISERROR(VLOOKUP(...)), " text_if_error ", VLOOKUP(...))Kot primer povzemimo imena predmetov, pri katerih so učenci skupine A neuspešno reševali teste:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
Posledično se pojavijo številne napake #N/A, kar lahko ustvarja vtis, da je formula pokvarjena.
V resnici te napake pomenijo le, da nekaterih vrednosti iskanja (A3:A14) ni na seznamu iskanja (D3:D9). Da bi to jasno izrazili, vnesite formulo VLOOKUP v konstrukcijo IF ISERROR:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ne", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
To bo ujelo napake in vrnilo besedilno sporočilo po meri:
Nasveti in opombe:
- Glavna prednost te formule je, da se dobro obnese v vse različice Excel 2000 do Excel 365. V sodobnih različicah so na voljo preprostejše in kompaktnejše alternative.
- Funkcija ISERROR zajame absolutno vse napake , kot so #N/A, #NAME, #VALUE itd. Če želite prikazati sporočilo po meri samo, kadar vrednost iskanja ni najdena (napaka #N/A), uporabite ukaz IF ISNA VLOOKUP (v vseh različicah) ali IFNA VLOOKUP (v Excelu 2013 in novejših).
ISERROR VLOOKUP za vrnitev prazne celice v primeru napake
Če želite, da se ob napaki prikaže prazna celica, pripravite formulo tako, da namesto besedila po meri vrne prazen niz (""):
IF(ISERROR(VLOOKUP(...)), "", VLOOKUP(...))V našem primeru je formula takšna:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Rezultat je točno takšen, kot je bilo pričakovano - prazna celica, če imena učenca ni mogoče najti v preglednici iskanja.
Nasvet: Na podoben način lahko napake VLOOKUP nadomestite z ničlami, pomišljaji ali katerim koli drugim želenim znakom. Namesto praznega niza uporabite želeni znak.
IF ISERROR VLOOKUP Da/Ne formula
V nekaterih primerih morda nekaj iščete, vendar namesto da bi iskali zadetke, želite samo vrniti Da (ali kakšno drugo besedilo, če je vrednost iskanja najdena) in Ne (če vrednost iskanja ni najdena). Če želite to narediti, lahko uporabite to splošno formulo:
IF(ISERROR(VLOOKUP(...)), " text_if_not_found ", " text_if_found ")V našem vzorčnem podatkovnem nizu bi radi vedeli, kateri učenci so neuspešni pri testu in kateri ne. To lahko dosežete tako, da že znano formulo ISERROR VLOOKUP uporabite za logični test IF in ji naročite, da izpiše "Ne", če vrednosti ni (ISERROR VLOOKUP vrne TRUE), in "Da", če je najdena (ISERROR VLOOKUP vrne FALSE):
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ne", "Da")
ISERROR VLOOKUP alternative
Kombinacija IF ISERROR je najstarejša preverjena tehnika za Vlookup brez napak v Excelu. Sčasoma so se razvile nove funkcije, ki zagotavljajo lažje načine za izvedbo iste naloge. V nadaljevanju bomo obravnavali druge možne rešitve in kdaj je najbolje uporabiti vsako od njih.
IFERROR VLOOKUP
Na voljo v Excelu 2007 in novejših različicah
Od različice 2007 ima Excel posebno funkcijo IFERROR, s katero lahko preverite napako v formuli in vrnete svoje besedilo (ali zaženete alternativno formulo), če odkrijete napako.
IFERROR (VLOOKUP(...), " text_if_error ")Realna formula je naslednja:
=IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Ne")
Na prvi pogled je videti kot krajša analogija formule IF ISERROR VLOOKUP, vendar je med njima bistvena razlika:
- IFERROR VLOOKUP predpostavlja, da vedno želite rezultat VLOOKUP, če ni napaka.
- IF ISERROR VLOOKUP vam omogoča, da določite, kaj naj se vrne v primeru napake in kaj v primeru, da napake ni.
Za več podrobnosti glejte Uporaba IFERROR z VLOOKUP v Excelu.
ČE JE VLOOKUP
Deluje v Excelu 2000 in novejših različicah
Če želite ujeti samo #N/A, ne da bi ujeli druge napake, vam pride prav funkcija ISNA. Sintaksa je enaka sintaksi IF ISERROR VLOOKUP:
IF(ISNA(VLOOKUP(...)), " text_if_error ", VLOOKUP(...))Toda v določenih okoliščinah lahko ta navidezno enaka formula prinese drugačne rezultate:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ne", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Na spodnji sliki je v celici A13 veliko presledkov, zaradi katerih skupna dolžina vrednosti iskanja presega 255 znakov. Zato formula sproži napako #VALUE!, ki vas opozori na to celico in vas spodbudi k iskanju razlogov. ISERROR VLOOKUP bi v tem primeru vrnil "No", kar bi le prikrilo težavo in dalo popolnoma napačen rezultat.
Kdaj uporabiti:
Ta formula se odlično obnese, kadar želite prikazati nekaj besedila le, kadar vrednost iskanja ni najdena, in ne želite prikriti osnovnih težav s samo formulo VLOOKUP, npr. kadar je ime funkcije napačno zapisano (#NAME?) ali ni določena celotna pot do delovnega zvezka iskanja (#VALUE!).
Za več informacij glejte funkcijo ISNA v Excelu s primeri formul.
IFNA VLOOKUP
Na voljo v Excelu 2013 in novejših različicah
Je sodobna zamenjava kombinacije IF ISNA, ki vam omogoča lažje odpravljanje napak #N/A.
IFNA(VLOOKUP(...), " text_if_error ")Tukaj je kratek ekvivalent naše formule IF ISNA VLOOKUP:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Ne")
Kdaj uporabiti:
To je idealna rešitev za lovljenje in obravnavanje napak #N/A v sodobnih različicah programa Excel (2013 - 365).
Za vse podrobnosti glejte funkcijo Excel IFNA.
XLOOKUP
Podprto v Excelu 2021 in Excelu 365
Funkcija XLOOKUP je zaradi vgrajene funkcije "if error" najlažji način iskanja brez napak #N/A v Excelu. Preprosto vnesite uporabniku prijazno besedilo v izbirni četrti argument z imenom if_not_found .
Na primer:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "Ne")
Omejitev: Ujema samo napake #N/A, drugih vrst pa ne upošteva.
Za več informacij si oglejte funkcijo XLOOKUP v Excelu.
Kot vidite, Excel ponuja precej različnih možnosti za odpravljanje napak VLOOKUP-a. Upam, da je ta vadnica osvetlila, kako jih učinkovito uporabiti. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!
Razpoložljivi prenosi
ISERROR s primeri VLOOKUP (.xlsx datoteka)