Sadržaj
Vodič se bavi praktičnim korištenjem funkcije Excel ISERROR i pokazuje kako testirati različite formule za greške.
Kada napišete formulu koju Excel ne razumije ili ne može izračunati, skreće vam pažnju na problem prikazujući poruku o grešci. Funkcija ISERROR vam može pomoći da uhvatite greške i pružite alternativu kada se pronađe greška.
funkcija ISERROR u Excelu
Excel funkcija ISERROR hvata sve vrste grešaka, uključujući #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! i #SPILL!. Rezultat je Boolean vrijednost: TRUE ako je otkrivena greška, FALSE u suprotnom.
Funkcija je dostupna u svim verzijama programa Excel 2000 do 2021 i Excel 365.
Sintaksa ISERROR funkcija je jednostavna kao ova:
ISERROR(vrijednost)Gdje je vrijednost vrijednost ćelije ili formula koju treba provjeriti za greške.
Excel formula ISERROR
Da biste kreirali formulu ISERROR u njenom najjednostavnijem obliku, dostavite referencu na ćeliju koju želite testirati na greške. Na primjer:
=ISERROR(A2)
U slučaju da se pronađe bilo kakva greška, dobićete TRUE. Ako nema greške u testiranoj ćeliji, dobit ćete FALSE:
IF ISERROR formulu u Excelu
Da biste vratili prilagođenu poruku ili izvršili drugačiji proračun kada dođe do greške, koristite ISERROR zajedno sa funkcijom IF. Generička formula izgleda ovako:
IF(ISERROR( formula(…), text_or_calculation_if_error, formula())Prevedeno na ljudski jezik, kaže: ako je rezultat glavne formule u grešci, prikažite navedeni tekst ili pokrenite drugi izračun, inače vratite normalan rezultat formule.
Na slici ispod, dijeljenje ukupnog iznosa s količinom generiše nekoliko grešaka u Cijena stupac:
Da zamijenite sve različite kodove grešaka prilagođenim tekstom, možete koristiti sljedeću formulu IF ISERROR:
=IF(ISERROR(A2/B2), "Unknown", A2/B2)
U Excelu 2007 i novijim verzijama, isti rezultat se može postići uz pomoć ugrađene funkcije IFERROR:
=IFERROR(A2/B2, "Unknown")
Trebalo bi biti primijetio je da formula IFERROR radi malo brže jer izvodi izračunavanje A2/B2 samo jednom. Dok IF ISERROR to izračunava dvaput - prvo da vidi da li generiše grešku, a zatim ponovo da li je test FALSE.
IF ISERROR VLOOKUP formula
Korišćenje ISERROR sa VLOOKUP je, u stvari, poseban slučaj IF IS Formula GREŠKA o kojoj je gore raspravljano. Kada funkcija VLOOKUP ne može pronaći traženu vrijednost ili ne uspije iz bilo kojeg drugog razloga, prikazujete prilagođenu tekstualnu poruku koristeći ovu sintaksu:
IF(ISERROR(VLOOKUP(…)), " custom_text", VLOOKUP(…))Za ovaj primjer, povucimo vremena iz tabele pretraživanja (D3:E10) do glavne tabele (A3:B15). Ako tražena vrijednost (ime učesnika) ne postoji utabela pretraživanja, vratit ćemo "Nije kvalificiran".
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
Savjet. Ako želite prikazati prilagođeni tekst samo kada vrijednost pretraživanja nije pronađena (#N/A greška) ignorirajući druge greške, tada koristite formulu IFNA VLOOKUP u programu Excel 2013 i novijim ili IF ISNA VLOOKUP u starijim verzijama verzije.
IF ISERROR INDEX MATCH formula
Kada obavljate traženje uz pomoć kombinacije INDEX MATCH (ili formule INDEX XMATCH u Excelu 365), možete uhvatiti i rukovati svim mogućim greškama koristeći istu tehniku - funkcija ISERROR provjerava greške i IF prikazuje navedeni tekst kada se pojavi bilo kakva greška.
IF(ISERROR(INDEX ( povratni_stupac , MATCH ( vrijednost_potraži , kolona_potraži<2)>, 0)))), " prilagođeni_tekst ", INDEX ( povratni_stupac , MATCH ( vrijednost_potraži , kolona_potraži , 0)))Pretpostavimo da tabela za pretraživanje ima vremena u prvoj koloni. Kako VLOOKUP ne može pogledati lijevo, koristimo formulu INDEX MATCH da izvučemo vremena iz stupca D:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
A zatim ga ugnijezdite u gore spomenutu generičku formulu da zamijenite uhvaćene greške bilo kojim tekstom koji želite:
=IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))), "Not qualified", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))
Napomena. Kao i kod formule IF ISERROR VLOOKUP, ima smisla uhvatiti samo greške #N/A i ne prikrivati potencijalne probleme sa samom formulom. Za to umotajte svoju INDEX MATH formulu u IFNA u programu Excel 2013 i novijim ili IF ISNA u starijim verzijama.
IFISERROR Da/Ne formula
U svim prethodnim primjerima, IF ISERROR je vratio rezultat glavne formule ako nije greška. Međutim, može raditi i na drugačiji način - vrati nešto ako greška i nešto drugo ako nema greške.
IF(ISERROR( formula (…)), " text_if_error " , " text_if_no_error ")U našem uzorku skupa podataka, pretpostavimo da vas ne zanimaju tačna vremena, samo želite znati koji su učesnici iz grupe A kvalifikovani, a koji nisu. Da biste to učinili, koristite funkciju MATCH da uporedite ime u koloni A sa listom kvalifikovanih učesnika u koloni D, a zatim servirajte rezultate ISERROR. Ako ime nije dostupno u koloni D (MATCH vraća grešku), neka funkcija IF prikaže "Ne" ili "Nije kvalificirano". Ako se ime pojavi u koloni D (bez greške), vratite "Da" ili "Kvalificirano".
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )
Kako izbrojati broj grešaka
Da biste dobili broj grešaka u određenoj koloni, morate provjeriti raspon, a ne samo jednu ćeliju. Za ovo, "nahranite" ciljni opseg na ISERROR i prisilite vraćene Booleove vrijednosti u 1 i 0 koristeći dvostruki unarni operator (--). Funkcija SUM ili SUMPRODUCT može zbrajati brojeve i dati konačni rezultat.
Na primjer:
=SUM(--ISERROR(C2:C10))
Imajte na umu da ovo radi kao obična formula samo u Excelu 365 i Excel 2021, koji podržavaju dinamičke nizove. U programu Excel 2019 i ranije, vimorate pritisnuti Ctrl + Shift + Enter da kreirate formulu niza (nemojte ručno upisivati vitičaste zagrade, to neće raditi!):
{=SUM(--ISERROR(C2:C10))}
Alternativno, možete koristiti SUMPRODUCT funkcija koja obrađuje nizove nativno, tako da se formula može završiti uobičajenim tipkom Enter u svim verzijama:
=SUMPRODUCT(--ISERROR(C2:C10))
Razlika između ISERROR i IFERROR u Excelu
Obje funkcije ISERROR i IFERROR se koriste za hvatanje i rukovanje greškama u Excelu. Razlika je sljedeća:
- U svom čistom obliku, ISERROR samo testira da li je vrijednost greška ili ne. Dostupna je u svim verzijama Excela.
- Funkcija IFERROR je dizajnirana da potisne ili prikrije greške - kada se pronađe greška, vraća drugu vrijednost koju navedete. Dostupan je u programu Excel 2007 i novijim verzijama.
Na prvi pogled, IFERROR izgleda kao skraćena alternativa formuli IF ISERROR. Međutim, ako bolje pogledate, možete primijetiti razliku:
- IFERROR vam omogućava da specificirate samo value_if_error . Ako nema greške, uvijek vraća rezultat testirane vrijednosti/formule.
- IF ISERROR pruža veću fleksibilnost i omogućava vam da upravljate objema situacijama - šta bi se trebalo dogoditi ako greška, a šta ako nema greške.
Da biste bolje ilustrirali poentu, razmotrite ove formule:
=IFERROR(A1, "Calculation error")
=IF(ISERROR(A1), "Calculation error", A1)
Ove dvije formule su ekvivalentne - obje provjeravaju vrijednost vođenu formulom u A1 i povratak"Greška u proračunu" ako je greška, u suprotnom - vrati vrijednost.
Ali što ako želite izvršiti neki proračun ako vrijednost u A1 nije greška? Funkcija IFERROR ne može to učiniti. U slučaju IF ISERROR, samo unesite željeni proračun u posljednji argument. Na primjer:
=IF(ISERROR(A1), "Calculation error", A1*2)
Kao što vidite, ova duža varijacija formule IFERROR, koja se često smatra zastarjelom, još uvijek može biti korisna :)
Dostupna preuzimanja
Primjeri formule ISERROR (.xlsx datoteka)