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.
Da biste koristili IFERROR Excel radnu tablicu, odaberite ćeliju i upišite:
(Obratite pažnju na to kako se pojavljuju unosi formule)
Sintaksa i ulazi funkcije IFERROR:
= 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:
= 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 (""):
= 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:
= 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:
= 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:
= 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, LAŽ)))
Index / Match & XLOOKUP
Naravno, IFERROR će također raditi s formulama Index / Match i XLOOKUP.
IFERROR XLOOKUP
Funkcija XLOOKUP napredna je verzija funkcije VLOOKUP.
= 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.
= 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.
{= 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:
{= 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.
= 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:
= 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:
Dim n sve dok je n = 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):
Sub IFERROR_VBA () Dim n As Long, m As Long 'IFERROR n = Application.WorksheetFunction.IfError (Raspon ("b2"). Vrijednost, 0)' No IFERROR m = Range ("b2"). Value End Sub
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:
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:
Sub TestWS () MsgBox DoesWSExist ("test") End Sub Function DoesWSExist (wsName As String) Kao Boolean Dim ws Kao radni list o grešci Nastavi sljedeće Postavite ws = Sheets (wsName) 'Ako pogreška WS ne postoji Ako greška br. 0 onda DoesWSExist = False Else DoesWSExist = True End If On Greška GoTo -1 End 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.