Kazalo
V učbeniku je predstavljena praktična uporaba Excelove funkcije ISERROR in prikazano, kako preizkusiti različne formule za napake.
Ko zapišete formulo, ki je Excel ne razume ali je ne more izračunati, vas na težavo opozori s prikazom sporočila o napaki. Funkcija ISERROR vam lahko pomaga pri odkrivanju napak in zagotovi alternativo, ko je ugotovljena napaka.
Funkcija ISERROR v Excelu
Excelova funkcija ISERROR zajame vse vrste napak, vključno z #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! in #SPILL!. Rezultat je logična vrednost: TRUE, če je odkrita napaka, FALSE v nasprotnem primeru.
Funkcija je na voljo v vseh različicah programov Excel od 2000 do 2021 in Excel 365.
Sintaksa funkcije ISERROR je preprosta:
Kje: vrednost je vrednost celice ali formule, ki se preveri za napake.
Excelova formula ISERROR
Če želite ustvariti formulo ISERROR v najpreprostejši obliki, vnesite sklic na celico, v kateri želite preveriti napake. Na primer:
=ISERROR(A2)
Če se najde kakšna napaka, se izpiše TRUE. Če v testirani celici ni nobene napake, se izpiše FALSE:
Formula IF ISERROR v Excelu
Če želite ob pojavu napake vrniti sporočilo po meri ali izvesti drugačen izračun, uporabite ISERROR skupaj s funkcijo IF. Splošna formula je videti takole:
IF(ISERROR( formula (...), text_or_calculation_if_error , formula ())Prevedeno v človeški jezik pravi: če je rezultat glavne formule napaka, prikažite določeno besedilo ali izvedite drug izračun, sicer vrnite običajen rezultat formule.
Na spodnji sliki deljenje skupnega zneska s količino povzroči nekaj napak v Cena stolpec:
Če želite vse različne kode napak nadomestiti z besedilom po meri, lahko uporabite naslednjo formulo IF ISERROR:
=IF(ISERROR(A2/B2), "Neznano", A2/B2)
V Excelu 2007 in novejših različicah lahko enak rezultat dosežete s pomočjo vgrajene funkcije IFERROR:
=IFERROR(A2/B2, "Neznano")
Opozoriti je treba, da formula IFERROR deluje nekoliko hitreje, ker izračun A2/B2 izvede samo enkrat, medtem ko ga IF ISERROR izračuna dvakrat - najprej preveri, ali se ustvari napaka, in nato še enkrat, če je test FALSE.
IF ISERROR Formula VLOOKUP
Uporaba funkcije ISERROR z VLOOKUP je pravzaprav poseben primer zgoraj obravnavane formule IF ISERROR. Kadar funkcija VLOOKUP ne more najti vrednosti iskanja ali ne uspe iz katerega koli drugega razloga, s to sintakso prikažete prilagojeno besedilno sporočilo:
IF(ISERROR(VLOOKUP(...)), " custom_text ", VLOOKUP(...))V tem primeru prenesemo čase iz preglednice za iskanje (D3:E10) v glavno preglednico (A3:B15). Če vrednost iskanja (ime udeleženca) ne obstaja v preglednici za iskanje, vrnemo "Ne ustreza".
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Ne izpolnjuje pogojev", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
Nasvet. Če želite besedilo po meri prikazati le, ko Vrednost iskanja ni najdena (#N/A napaka), ne da bi upoštevali druge napake, uporabite formulo IFNA VLOOKUP v Excelu 2013 in novejših različicah ali IF ISNA VLOOKUP v starejših različicah.
IF ISERROR INDEX MATCH formula
Pri iskanju s kombinacijo INDEX MATCH (ali formulo INDEX XMATCH v Excelu 365) lahko z isto tehniko ujamete in obravnavate morebitne napake - funkcija ISERROR preveri napake in IF prikaže določeno besedilo, če se pojavi napaka.
IF(ISERROR(INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))), " custom_text ", INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))Predpostavimo, da so v prvem stolpcu preglednice iskanja časi. Ker VLOOKUP ne more pogledati levo, uporabimo formulo INDEX MATCH, da izvlečemo čase iz stolpca D:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
Nato ga vnesete v zgoraj omenjeno splošno formulo, da ujete napake nadomestite s poljubnim besedilom:
=IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)), "Ne izpolnjuje pogojev", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))
Opomba: Tako kot pri formuli IF ISERROR VLOOKUP je bolj smiselno ujeti samo napake #N/A in ne prikrivati morebitnih težav s samo formulo. V ta namen zavijte formulo INDEX MATH v IFNA v Excelu 2013 in novejših različicah ali IF ISNA v prejšnjih različicah.
IF ISERROR Da/Ne formula
V vseh prejšnjih primerih je funkcija IF ISERROR vrnila rezultat glavne formule, če ne gre za napako. Vendar pa lahko deluje tudi drugače - vrne nekaj, če gre za napako, in nekaj drugega, če napake ni.
IF(ISERROR( formula (...)), " text_if_error ", " text_if_no_error ")Predpostavimo, da vas v našem vzorčnem podatkovnem nizu ne zanimajo natančni časi, temveč želite le vedeti, kateri udeleženci iz skupine A so kvalificirani in kateri ne. To storite tako, da s funkcijo MATCH primerjate ime v stolpcu A s seznamom kvalificiranih udeležencev v stolpcu D, nato pa rezultate posredujete v ISERROR. Če imena ni na voljo v stolpcu D (MATCH vrne napako), dobiteČe je ime prikazano v stolpcu D (brez napake), vrnite "Da" ali "Kvalificirano".
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "Ne", "Da" )
Kako prešteti število napak
Če želite ugotoviti število napak v določenem stolpcu, morate preveriti območje in ne le eno celico. V ta namen ciljno območje "napolnite" z ISERROR in vrnjene logične vrednosti pretvorite v 1 in 0 z uporabo dvojnega enojnega operatorja (--). Funkcija SUM ali SUMPRODUCT lahko sešteje številke in dobi končni rezultat.
Na primer:
=SUM(--ISERROR(C2:C10))
Upoštevajte, da to deluje kot običajna formula samo v Excelu 365 in Excelu 2021, ki podpirata dinamična polja. V Excelu 2019 in prejšnjih programih morate za ustvarjanje formule polja pritisniti kombinacijo tipk Ctrl + Shift + Enter (ne vnašajte oglatih oklepajev ročno, to ne bo delovalo!):
{=SUM(--ISERROR(C2:C10))}
Uporabite lahko tudi funkcijo SUMPRODUCT, ki nativno obdeluje polja, zato lahko formulo dokončate z običajno tipko Enter v vseh različicah:
=SUMPRODUKT(--ISERROR(C2:C10))
Razlika med ISERROR in IFERROR v Excelu
Funkciji ISERROR in IFERROR se uporabljata za lovljenje in obravnavanje napak v Excelu. Razlika je naslednja:
- V svoji čisti obliki ISERROR samo preveri, ali je vrednost napaka ali ne. Na voljo je v vseh različicah programa Excel.
- Funkcija IFERROR je namenjena odpravljanju ali prikrivanju napak - ob ugotovljeni napaki vrne drugo vrednost, ki jo določite. Na voljo je v programu Excel 2007 in novejših.
Na prvi pogled je IFERROR videti kot skrajšana alternativa formuli IF ISERROR. Vendar pa lahko ob podrobnejšem pogledu opazite razliko:
- IFERROR lahko določite samo value_if_error Če ni napake, vedno vrne rezultat preizkušene vrednosti/formule.
- IF ISERROR zagotavlja večjo prilagodljivost in omogoča obravnavo obeh situacij - kaj naj se zgodi v primeru napake in kaj, če napake ni.
Za boljšo ponazoritev si oglejte naslednje formule:
=IFERROR(A1, "Napaka pri izračunu")
=IF(ISERROR(A1), "Napaka pri izračunu", A1)
Ti dve formuli sta enakovredni - obe preverita vrednost, ki jo določa formula, v A1 in vrneta "Napaka pri izračunu", če gre za napako, v nasprotnem primeru pa vrneta vrednost.
Kaj pa, če želite izvesti kakšen izračun, če vrednost v A1 ni napaka? Funkcija IFERROR tega ne more storiti. V primeru IF ISERROR v zadnji argument vnesite želeni izračun. Na primer:
=IF(ISERROR(A1), "Napaka pri izračunu", A1*2)
Kot vidite, je ta daljša različica formule IFERROR, ki pogosto velja za zastarelo, še vedno lahko uporabna :)
Razpoložljivi prenosi
Primeri formul ISERROR (.xlsx datoteka)