Ovaj vodič prikazuje kako koristiti Excel IFERROR funkciju za hvatanje pogrešaka formule, zamjenjujući ih drugom formulom, praznom vrijednošću, 0 ili prilagođenom porukom.
IFERROR Pregled funkcije
Funkcija IFERROR provjerava dovodi li formula do pogreške. Ako je FALSE, vratite izvorni rezultat formule. Ako je TRUE, vratite drugu navedenu vrijednost.
IFERROR Sintaksa
Da biste koristili IFERROR Excel radnu tablicu, odaberite ćeliju i upišite:= GREŠKA (
Obratite pažnju na to kako se pojavljuju ulazi IFERROR formule:
Sintaksa i ulazi funkcije IFERROR:
1 | = IFERROR (VALUE, value_if_error) |
vrijednost - Izraz. Primjer: 4/A1
vrijednost_ako_pogreška - Vrijednost ili izračun za izvođenje ako prethodni unos rezultira pogreškom. Primjer 0 ili "" (prazno)
Što je IFERROR funkcija?
Funkcija IFERROR spada u kategoriju logičkih funkcija u programu Microsoft Excel, koja uključuje ISNA, ISERROR i ISERR. Sve ove funkcije pomažu u otkrivanju i rješavanju pogrešaka formule.
IFERROR vam omogućuje izračun. Ako izračun ne rezultira pogreškom, tada se prikazuje rezultat izračuna. Ako izračun čini rezultira pogreškom, tada se izvodi drugi izračun (ili se izbacuje statička vrijednost poput 0, prazno ili neki tekst).
Kada biste koristili funkciju IFERROR?
- Prilikom dijeljenja brojeva izbjegavajte pogreške nastale dijeljenjem s 0
- Prilikom izvođenja pretraživanja radi sprječavanja pogrešaka ako vrijednost nije pronađena.
- Kada želite izvršiti drugi izračun ako prvi rezultira pogreškom (npr. Potražite vrijednost u 2nd tablicu ako se ne nalazi u prvoj tablici)
Pogreške formule koje nisu obrađene mogu uzrokovati pogreške u vašoj radnoj knjizi, ali vidljive pogreške također čine vašu proračunsku tablicu manje vidljivo privlačnom.
Ako greška onda 0
Pogledajmo osnovni primjer. Ispod dijelite dva broja. Ako pokušate podijeliti s nulom, dobit ćete pogrešku:
Umjesto toga, umetnite izračun unutar funkcije IFERROR i ako podijelite s nulom, umjesto pogreške se ispisuje 0:
1 | = GREŠKA (A2/B2,0) |
Ako greška, onda prazno
Umjesto da pogreške postavite na 0, možete ih postaviti na 'prazno' s dvostrukim navodnicima (""):
1 | = IFERROR (A2/B2, "") |
Pogledat ćemo više uporabe IFERROR -a s funkcijom VLOOKUP …
IFERROR s VLOOKUP -om
Funkcije pretraživanja, poput VLOOKUP -a, generirat će pogreške ako se vrijednost pretraživanja ne pronađe. Kao što je gore prikazano, možete koristiti funkciju IFERROR za zamjenu pogrešaka prazninama (“”) ili 0:
1 | = IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), "nije pronađeno") |
Ako dođe do pogreške, učinite nešto drugo
Funkcija IFERROR može se koristiti i za izvođenje drugog izračuna ako prvi proračun rezultira pogreškom:
12 | = IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE),VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE)) |
Ovdje ako se podaci ne nalaze u "LookupTable1", umjesto toga izvodi se VLOOKUP na "LookupTable2".
Više primjera formule IFERROR
Ugniježđeni IFERROR - VLOOKUP Više listova
IFERROR možete ugnijezditi u drugi IFERROR kako biste izvršili 3 zasebna izračuna. Ovdje ćemo koristiti dva IFERROR -a za izvođenje VLOOKUP -a na 3 odvojena radnog lista:
123 | = IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE),IFERROR (VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE),VLOOKUP (A2, LookupTable3! $ A $ 2: $ B $ 4,2, FALSE))) |
Index / Match & XLOOKUP
Naravno, IFERROR će također raditi s formulama Index / Match i XLOOKUP.
IFERROR XLOOKUP
Funkcija XLOOKUP napredna je verzija funkcije VLOOKUP.
1 | = IFERROR (XLOOKUP (A2, LookupTable1! $ A $ 2: $ A $ 4, LookupTable1! $ B $ 2: $ B $ 4), "Nije pronađeno") |
INDEKS IFERROR / MATCH
INDEX i MATCH mogu se koristiti za stvaranje moćnijih VLOOKUP -ova (slično kao što radi nova funkcija XLOOKUP) u Excelu.
1 | = IFERROR (INDEKS (LookupTable1! $ B $ 2: $ B $ 4, MATCH (A3, LookupTable1! $ A $ 2: $ A $ 4,0)), "Nije pronađeno") |
IFERROR u nizovima
Formule niza u Excelu koriste se za izvođenje nekoliko izračuna putem jedne formule. Pretpostavimo da postoje tri stupca Godina, Prodajna i Prosječna cijena. Ukupnu količinu možete saznati pomoću sljedeće formule u stupcu E.
1 | {= SUM ($ B $ 2: $ B $ 4/$ C $ 2: $ C $ 4)} |
Formula dobro radi sve dok ne pokuša razlučiti nulu, što rezultira #DIV/0! pogreška.
Za rješavanje pogreške možete koristiti funkciju IFERROR na sljedeći način:
1 | {= SUM (IFERROR ($ B $ 2: $ B $ 4/$ C $ 2: $ C $ 4,0))} |
Primijetite da funkcija IFERROR mora biti ugniježđena unutar funkcije SUM, inače će se IFERROR primijeniti na ukupni zbroj, a ne na svaku pojedinačnu stavku u nizu.
IFNA protiv IFERROR -a
Funkcija IFNA radi potpuno isto kao i funkcija IFERROR, osim što će funkcija IFNA uhvatiti samo #N/A pogrešaka. To je iznimno korisno pri radu s funkcijama pretraživanja: redovite pogreške formule i dalje će se otkrivati, ali neće se pojaviti pogreška ako vrijednost pretraživanja nije pronađena.
1 | = IFNA (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), "Nije pronađeno") |
Ako ISERROR
Ako još uvijek koristite Microsoft Excel 2003 ili stariju verziju, IFERROR možete zamijeniti kombinacijom IF i ISERROR. Evo kratkog primjera:
1 | = IF (ISERROR (A2/B2), 0, A2/B2) |
IFERROR u Google tablicama
Funkcija IFERROR funkcionira potpuno isto u Google tablicama kao i u Excelu:
IFERROR Primjeri u VBA
VBA nema ugrađenu IFERROR Fucntion, ali možete pristupiti Excel IFERROR funkciji iz VBA:
12 | Dim n koliko godn = Application.WorksheetFunction.IfError (Value, value_if_error) |
Aplikacija.Funkcija radnog lista daje vam pristup mnogim (ne svim) Excelovim funkcijama u VBA.
Obično se IFERROR koristi pri čitanju vrijednosti iz ćelija. Ako ćelija sadrži pogrešku, VBA može prikazati poruku o pogrešci pri pokušaju obrade vrijednosti ćelije. Isprobajte ovo s primjerom koda u nastavku (gdje ćelija B2 sadrži pogrešku):
1234567891011 | Pod IFERROR_VBA ()Dim n As Long, m As Long'POGREŠKAn = Application.WorksheetFunction.IfError (Raspon ("b2"). Vrijednost, 0)'Nema IFERROR -am = raspon ("b2"). VrijednostKraj podm |
Kod dodjeljuje ćeliju B2 varijabli. Druga dodjela varijable dovodi do pogreške jer je vrijednost ćelije #N/A, ali prva radi dobro zbog funkcije IFERROR.
Također možete koristiti VBA za stvaranje formule koja sadrži funkciju IFERROR:
1 | Raspon ("C2"). FormulaR1C1 = "= IFERROR (RC [-2]/RC [-1], 0)" |
Rukovanje pogreškama u VBA -u mnogo je drugačije nego u Excelu. Obično ćete za rješavanje pogrešaka u VBA -i koristiti VBA rukovanje pogreškama. VBA rukovanje pogreškama izgleda ovako:
12345678910111213141516171819 | Pod TestWS ()MsgBox DoesWSExist ("test")Kraj podmFunkcija Postoji li WSExist (wsName As String) kao BooleanZatamni kao radni listUključeno Slijedi nastavak greškePostavi ws = Tablice (wsName)'Ako pogreška WS ne postojiAko je Err.Broj 0 TadaDoesWSExist = FalseDrugoDoesWSExist = IstinaZavrši akoUključena greška GoTo -1Završna funkcija |
Primijetite da koristimo Ako je Err.Broj 0 Tada kako bi se utvrdilo je li došlo do greške. Ovo je tipičan način hvatanja pogrešaka u VBA -i. Međutim, funkcija IFERROR ima neke koristi u interakciji s Excel ćelijama.