Sadržaj
Vodič pokazuje kako koristiti IFERROR u Excelu da uhvatite greške i zamijenite ih praznom ćelijom, drugom vrijednošću ili prilagođenom porukom. Naučit ćete kako koristiti funkciju IFERROR s Vlookupom i Index Match, i kako se ona upoređuje sa IF ISERROR i IFNA.
"Daj mi mjesto da stanem, i ja ću pomjeriti zemlju," Arhimed je jednom rekao. „Dajte mi formulu i učiniću da ona vrati grešku“, rekao bi korisnik Excel-a. U ovom vodiču nećemo razmatrati kako vratiti greške u Excelu, radije ćemo naučiti kako ih spriječiti kako bi vaši radni listovi bili čisti i vaše formule transparentne.
Excel funkcija IFERROR - sintaksa i osnovne upotrebe
Funkcija IFERROR u Excelu je dizajnirana da uhvati i upravlja greškama u formulama i proračunima. Preciznije, IFERROR provjerava formulu, i ako procijeni na grešku, vraća drugu vrijednost koju navedete; u suprotnom, vraća rezultat formule.
Sintaksa funkcije Excel IFERROR je sljedeća:
IFERROR(value, value_if_error)Gdje:
- Vrijednost (obavezno) - šta provjeriti za greške. To može biti formula, izraz, vrijednost ili referenca ćelije.
- Vrijednost_ako_error (obavezno) - šta vratiti ako se pronađe greška. To može biti prazan niz (prazna ćelija), tekstualna poruka, numerička vrijednost, druga formula ili izračun.
Na primjer, kada dijelite dva stupca brojeva, vimože dobiti gomilu različitih grešaka ako jedan od stupaca sadrži prazne ćelije, nule ili tekst.
Da biste spriječili da se to dogodi, koristite funkciju IFERROR za hvatanje i rukovanje greškama na način na koji želite.
Ako greška, onda blank
Navedite prazan niz (") u value_if_error argument da vratite praznu ćeliju ako se pronađe greška:
=IFERROR(A2/B2, "")
Ako je greška, pokažite poruku
Možete prikazati i vlastitu poruku umjesto standardne oznake greške Excela:
=IFERROR(A2/B2, "Error in calculation")
5 stvari koje biste trebali znati o Excel funkciji IFERROR
- Funkcija IFERROR u Excelu obrađuje sve tipove grešaka uključujući # DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF!, i #VALUE!.
- U zavisnosti od sadržaja value_if_error argument, IFERROR može zamijeniti greške vašom prilagođenom tekstualnom porukom, brojem, datumom ili logičkom vrijednošću, rezultatom druge formule ili praznim nizom (prazna ćelija).
- Ako je argument vrijednost je prazna ćelija, tretira se kao prazan niz ('''), ali nije greška.
- IFERROR je uveden u Excel 2007 i dostupan je u svim narednim verzijama Excela 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 i Excel 365.
- Da biste uhvatili greške u programu Excel 2003 i starijim verzijama, koristite funkciju ISERROR u kombinaciji sa IF, kao što je prikazano u ovom primjeru.
Primjeri formule IFERROR
Sljedeći primjeripokažite kako koristiti IFERROR u Excelu u kombinaciji s drugim funkcijama za postizanje složenijih zadataka.
Excel IFERROR sa Vlookupom
Jedna od najčešćih upotreba funkcije IFERROR je kazivanje korisnicima da vrijednost koju traže ne postoji u skupu podataka. Za ovo, umotajte formulu VLOOKUP u IFERROR ovako:
IFERROR(VLOOKUP( …),"Nije pronađeno")Ako vrijednost pretraživanja nije u tabeli koju tražite , obična formula Vlookupa bi vratila grešku #N/A:
Da bi vaši korisnici imali na umu, umotajte VLOOKUP u IFERROR i prikažite informativniji i lakši korisnik poruka:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")
Snimak ekrana ispod prikazuje ovu Iferror formulu u Excelu:
Ako želite uhvatiti samo #N /A greške, ali ne sve greške, koristite funkciju IFNA umjesto IFERROR.
Za više primjera Excel IFERROR VLOOKUP formule, pogledajte ove tutorijale:
- Iferror s Vlookupom za zamku i rukovati greškama
- Kako dobiti N-to pojavljivanje vrijednosti pretraživanja
- Kako dobiti sva pojavljivanja vrijednosti pretraživanja
Ugniježđene funkcije IFERROR za obavljanje sekvencijalnih pregleda u Excelu
U situacijama kada trebate izvršiti više Vlookupa na osnovu toga da li je prethodni Vlookup uspio ili neuspješno, možete ugnijezditi dva ili više IFERROR funkcioniraju jedna u drugu.
Pretpostavimo da imate nekoliko izvještaja o prodaji iz regionalnih podružnica vašegkompanije, a želite da dobijete iznos za određeni ID narudžbe. Sa A2 kao vrijednošću pretraživanja u trenutnom listu i A2:B5 kao rasponom pretraživanja u 3 lista za pretraživanje (Izvještaj 1, Izvještaj 2 i Izvještaj 3), formula ide kako slijedi:
=IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0),"not found")))
Rezultat će izgledati nešto slično ovome:
Za detaljno objašnjenje logike formule, pogledajte Kako napraviti sekvencijalne Vlookupe u Excelu.
IFGREŠKA u formulama niza
Kao što vjerovatno znate, formule niza u Excelu su namijenjene za izvođenje više izračunavanja unutar jedne formule. Ako dostavite formulu niza ili izraz koji rezultira nizom u argumentu value funkcije IFERROR, on će vratiti niz vrijednosti za svaku ćeliju u navedenom rasponu. Primjer ispod prikazuje detalje.
Recimo, imate Ukupno u koloni B i Cijenu u koloni C, i želite izračunati Ukupnu količinu . To se može učiniti korištenjem sljedeće formule niza , koja dijeli svaku ćeliju u rasponu B2:B4 odgovarajućom ćelijom raspona C2:C4, a zatim zbraja rezultate:
=SUM($B$2:$B$4/$C$2:$C$4)
Formula radi dobro sve dok raspon djelitelja nema nule ili prazne ćelije. Ako postoji barem jedna vrijednost 0 ili prazna ćelija, #DIV/0! vraća se greška:
Da popravite tu grešku, jednostavno izvršite podjelu unutar funkcije IFERROR:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Šta formula radije podijeliti vrijednost u koloni B vrijednošću u koloni C u svakom redu (100/2, 200/5 i 0/0) i vratiti niz rezultata {50; 40; #DIV/0!}. Funkcija IFERROR hvata sve #DIV/0! greške i zamjenjuje ih nulama. A zatim, funkcija SUM zbraja vrijednosti u rezultirajućem nizu {50; 40; 0} i ispisuje konačni rezultat (50+40=90).
Napomena. Zapamtite da formule niza treba završiti pritiskom na prečicu Ctrl + Shift + Enter.
IFERROR vs. IF ISERROR
Sada kada znate koliko je lako koristiti funkciju IFERROR u Excelu, možda ćete se zapitati zašto neki ljudi još uvijek naginju korištenju kombinacije IF ISERROR. Da li ima neke prednosti u odnosu na IFERROR? Nema. U starim lošim danima Excel 2003 i starijih kada IFERROR nije postojao, IF ISERROR je bio jedini mogući način da se zarobe greške. U Excelu 2007 i novijim verzijama, to je samo malo složeniji način da se postigne isti rezultat.
Na primjer, da biste uhvatili Vlookup greške, možete koristiti bilo koju od sljedećih formula.
U Excelu 2007 - Excel 2016:
IFERROR(VLOOKUP( … ), "Nije pronađeno")U svim verzijama Excela:
IF(ISERROR(VLOOKUP(…)), "Nije pronađeno ", VLOOKUP(…))Primijetite da u formuli IF ISERROR VLOOKUP morate izvršiti Vlookup dvaput. Na jednostavnom engleskom, formula se može pročitati na sljedeći način: Ako Vlookup rezultira greškom, vratite "Nije pronađeno", u suprotnom ispišite rezultat Vlookup-a.
A ovdje je pravi-životni primjer formule Excel If Iserror Vlookup:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)),"Not found", VLOOKUP(D2, A2:B5,2,FALSE ))
Za više informacija pogledajte Korištenje funkcije ISERROR u Excelu.
IFERROR vs. IFNA
Uveden u Excel 2013, IFNA je još jedna funkcija za provjeru formule za greške. Njegova sintaksa je slična onoj kod IFERROR:
IFNA(value, value_if_na)Po čemu se IFNA razlikuje od IFERROR? IFNA funkcija hvata samo #N/A greške dok IFERROR obrađuje sve tipove grešaka.
U kojim situacijama možda želite koristiti IFNA? Kada nije mudro prikrivati sve greške. Na primjer, kada radite s važnim ili osjetljivim podacima, možda ćete htjeti da budete upozoreni o mogućim greškama u vašem skupu podataka, a standardne Excel poruke o grešci sa simbolom "#" mogu biti živopisni vizualni indikatori.
Da vidimo kako možete napraviti formulu koja prikazuje poruku "Nije pronađeno" umjesto greške N/A, koja se pojavljuje kada vrijednost pretraživanja nije prisutna u skupu podataka, ali skreće vašu pažnju na druge greške u programu Excel.
Pretpostavimo da želite povući Qty. iz tabele za pretraživanje u tabelu sažetka kao što je prikazano na slici ispod. Korištenje formule Excel Iferror Vlookup proizvelo bi estetski ugodan rezultat, koji je tehnički neispravan jer Limuni postoje u tabeli za traženje:
Uhvatiti # N/A, ali prikažite grešku #DIV/0, koristite funkciju IFNA u Excelu 2013 i Excelu2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Not found")
Ili kombinacija IF ISNA u programu Excel 2010 i starijim verzijama:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)),"Not found", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
Sintaksa IFNA VLOOKUP i IF ISNA Formule VLOOKUP-a su slične onim za IFERROR VLOOKUP i IF ISERROR VLOOKUP o kojima smo ranije raspravljali.
Kao što je prikazano na slici ispod, formula Ifna Vlookup vraća "Nije pronađeno" samo za stavku koja nije prisutna u tabeli pretraživanja ( breskve ). Za Limune , prikazuje #DIV/0! što ukazuje da naša tabela za pretraživanje sadrži grešku dijeljenja s nulom:
Za više detalja, pogledajte Korištenje IFNA funkcije u Excelu.
Najbolje prakse za korištenje IFERROR u Excelu
Do sada već znate da je funkcija IFERROR najlakši način da uhvatite greške u Excelu i maskirate ih praznim ćelijama, nultim vrijednostima ili vlastitim prilagođenim porukama. Međutim, to ne znači da biste trebali umotati svaku formulu s rukovanjem greškama. Sljedeće jednostavne preporuke mogu vam pomoći da održite ravnotežu.
- Nemojte uhvatiti greške bez razloga.
- Umotajte najmanji mogući dio formule u IFERROR.
- Da obrađujete samo određene greške, koristite funkciju za obradu grešaka s manjim opsegom:
- IFNA ili IF ISNA da uhvatite samo #N/A greške.
- ISERR za hvatanje svih grešaka osim za #N/A.
Ovako koristite funkciju IFERROR u Excelu za zarobljavanje i rukovanje greškama. Da biste bolje pogledali formule o kojima se ovdje raspravljatutorial, dobrodošli ste da preuzmete naš primjer IFERROR Excel radne sveske. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice.