Funkcija ISERROR u Excelu s primjerima formule

  • Podijeli Ovo
Michael Brown

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)

    Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.