Funcția ISERROR în Excel cu exemple de formule

  • Imparte Asta
Michael Brown

Tutorialul analizează utilizările practice ale funcției Excel ISERROR și arată cum se testează diferite formule pentru a detecta erori.

Atunci când scrieți o formulă pe care Excel nu o înțelege sau nu o poate calcula, vă atrage atenția asupra problemei prin afișarea unui mesaj de eroare. Funcția ISERROR vă poate ajuta să identificați erorile și să oferiți o alternativă atunci când este găsită o eroare.

    Funcția ISERROR în Excel

    Funcția Excel ISERROR detectează toate tipurile de erori, inclusiv #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! și #SPILL!. Rezultatul este o valoare booleană: TRUE dacă este detectată o eroare, FALSE în caz contrar.

    Funcția este disponibilă în toate versiunile de Excel 2000 până în 2021 și Excel 365.

    Sintaxa funcției ISERROR este foarte simplă:

    ISERROR(valoare)

    Unde valoare este valoarea celulei sau formula care urmează să fie verificată pentru erori.

    Formula Excel ISERROR

    Pentru a crea o formulă ISERROR în forma sa cea mai simplă, furnizați o referință la celula pe care doriți să o testați pentru erori. De exemplu:

    =ISERROR(A2)

    În cazul în care se găsește o eroare, veți obține TRUE. Dacă nu există nicio eroare în celula testată, veți obține FALSE:

    Formula IF ISERROR în Excel

    Pentru a returna un mesaj personalizat sau pentru a efectua un calcul diferit atunci când apare o eroare, utilizați ISERROR împreună cu funcția IF. Formula generică arată după cum urmează:

    IF(ISERROR( formula (...), text_or_calcul_if_error , formula ())

    Tradus într-un limbaj uman, spune: dacă formula principală are ca rezultat o eroare, afișați textul specificat sau efectuați un alt calcul, altfel returnați un rezultat normal al formulei.

    În imaginea de mai jos, împărțirea totalului la cantitate generează câteva erori de Preț coloană:

    Pentru a înlocui toate codurile de eroare diferite cu un text personalizat, puteți utiliza următoarea formulă IF ISERROR:

    =IF(ISERROR(A2/B2), "Necunoscut", A2/B2)

    În Excel 2007 și versiunile ulterioare, același rezultat poate fi obținut cu ajutorul funcției IFERROR încorporate:

    =IFERROR(A2/B2, "Necunoscut")

    Trebuie remarcat faptul că formula IFERROR rulează puțin mai repede deoarece efectuează calculul A2/B2 o singură dată, în timp ce IF ISERROR îl calculează de două ori - mai întâi pentru a vedea dacă generează o eroare și apoi din nou dacă testul este FALSE.

    Formula IF ISERROR VLOOKUP IF ISERROR VLOOKUP

    Utilizarea ISERROR cu VLOOKUP este, de fapt, un caz particular al formulei IF ISERROR discutată mai sus. Atunci când funcția VLOOKUP nu poate găsi valoarea de căutare sau eșuează din orice alt motiv, puteți afișa un mesaj text personalizat utilizând această sintaxă:

    IF(ISERROR(VLOOKUP(...)), " custom_text ", VLOOKUP(....))

    Pentru acest exemplu, să extragem orele din tabelul de căutare (D3:E10) în tabelul principal (A3:B15). Dacă valoarea de căutare (numele participantului) nu există în tabelul de căutare, vom returna "Not qualified".

    =IF(ISERROR(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE)))

    Sfat. Dacă doriți să afișați un text personalizat numai atunci când un valoarea de căutare nu este găsită (#N/A error), ignorând alte erori, utilizați formula IFNA VLOOKUP în Excel 2013 și versiunile ulterioare sau IF ISNA VLOOKUP în versiunile mai vechi.

    IF ISERROR INDEX INDEX MATCH formula

    Atunci când efectuați o căutare cu ajutorul combinației INDEX MATCH (sau a formulei INDEX XMATCH în Excel 365), puteți să prindeți și să gestionați orice erori posibile utilizând aceeași tehnică - funcția ISERROR verifică dacă există erori și IF afișează textul specificat atunci când apare o eroare.

    IF(ISERROR(INDEX ( return_column , MATCH ( lookup_value , lookup_columna , 0)))), " custom_text ", INDEX ( return_column , MATCH ( lookup_value , lookup_columna , 0)))

    Să presupunem că tabelul de căutare are orele în prima coloană. Deoarece VLOOKUP nu se poate uita în stânga sa, folosim formula INDEX MATCH pentru a extrage orele din coloana D:

    =INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))

    Apoi, o introduceți în formula generică menționată mai sus pentru a înlocui erorile detectate cu orice text doriți:

    =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))))

    Notă. Ca și în cazul formulei VLOOKUP IF ISERROR, este mai logic să prindeți doar erorile #N/A și să nu mascați eventualele probleme cu formula în sine. Pentru aceasta, înfășurați formula INDEX MATH în IFNA în Excel 2013 și versiunile ulterioare sau IF ISNA în versiunile anterioare.

    IF ISERROR Formula Da/Nu

    În toate exemplele anterioare, IF ISERROR a returnat rezultatul formulei principale dacă nu este o eroare. Cu toate acestea, poate funcționa și într-un mod diferit - returnează ceva dacă este o eroare și altceva dacă nu este o eroare.

    IF(ISERROR( formula (...)), " text_if_error ", " text_if_no_error ")

    În exemplul nostru de set de date, să presupunem că nu vă interesează orele exacte, ci doriți doar să știți ce participanți din grupul A sunt calificați și care nu sunt. Pentru a face acest lucru, utilizați funcția MATCH pentru a compara numele din coloana A cu lista participanților calificați din coloana D, apoi serviți rezultatele la ISERROR. Dacă numele nu este disponibil în coloana D (MATCH returnează o eroare), obținețifuncția IF pentru a afișa "Nu" sau "Necalificat". Dacă numele apare în coloana D (fără eroare), se afișează "Da" sau "Calificat".

    =IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "Nu", "Da" )

    Cum se numără numărul de erori

    Pentru a obține numărul de erori dintr-o anumită coloană, trebuie să verificați un interval, nu doar o singură celulă. În acest scop, "alimentați" intervalul țintă la ISERROR și transformați valorile booleene returnate în 1 și 0 folosind operatorul unar dublu (--). Funcția SUM sau SUMPRODUCT poate adăuga numerele și poate furniza rezultatul final.

    De exemplu:

    =SUM(--ISERROR(C2:C10))

    Vă rugăm să rețineți că acest lucru funcționează ca o formulă obișnuită numai în Excel 365 și Excel 2021, care acceptă array-uri dinamice. În Excel 2019 și versiunile anterioare, trebuie să apăsați Ctrl + Shift + Enter pentru a crea o formulă de array (nu introduceți manual paranteze curbe, nu va funcționa!):

    {=SUM(--ISERROR(C2:C10))}

    Alternativ, puteți utiliza funcția SUMPRODUCT, care gestionează nativ array-urile, astfel încât formula poate fi completată cu tasta Enter obișnuită în toate versiunile:

    =SUMPRODUCT(--ISERROR(C2:C10))

    Diferența dintre ISERROR și IFERROR în Excel

    Ambele funcții ISERROR și IFERROR sunt utilizate pentru a capta și gestiona erorile în Excel. Diferența este următoarea:

    • În forma sa pură, ISERROR testează doar dacă valoarea este sau nu o eroare. Este disponibil în toate versiunile Excel.
    • Funcția IFERROR este concepută pentru a suprima sau masca erorile - atunci când se găsește o eroare, aceasta returnează o altă valoare pe care o specificați. Este disponibilă în Excel 2007 și în versiunile ulterioare.

    La prima vedere, IFERROR pare a fi o alternativă prescurtată la formula IF ISERROR. La o privire mai atentă, însă, puteți observa diferența:

    • IFERROR vă permite să specificați numai value_if_error Dacă nu există nicio eroare, se returnează întotdeauna rezultatul valorii/formulei testate.
    • IF ISERROR oferă mai multă flexibilitate și vă permite să gestionați ambele situații - ce ar trebui să se întâmple dacă apare o eroare și ce ar trebui să se întâmple dacă nu apare nicio eroare.

    Pentru a ilustra mai bine acest lucru, luați în considerare aceste formule:

    =IFERROR(A1, "Eroare de calcul")

    =IF(ISERROR(A1), "Eroare de calcul", A1)

    Aceste două formule sunt echivalente - ambele verifică o valoare determinată de formulă în A1 și returnează "Eroare de calcul" dacă este o eroare, în caz contrar - returnează valoarea.

    Dar ce se întâmplă dacă doriți să efectuați un calcul dacă valoarea din A1 nu este o eroare? Funcția IFERROR nu poate face acest lucru. În cazul funcției IF ISERROR, trebuie doar să introduceți calculul dorit în ultimul argument. De exemplu:

    =IF(ISERROR(A1), "Eroare de calcul", A1*2)

    După cum vedeți, această variantă mai lungă a formulei IFERROR, care este adesea considerată depășită, poate fi încă utilă :)

    Descărcări disponibile

    Exemple de formule ISERROR (fișier .xlsx)

    Michael Brown este un pasionat de tehnologie dedicat, cu o pasiune pentru simplificarea proceselor complexe folosind instrumente software. Cu mai mult de un deceniu de experiență în industria tehnologiei, el și-a perfecționat abilitățile în Microsoft Excel și Outlook, precum și în Google Sheets și Docs. Blogul lui Michael este dedicat împărtășirii cunoștințelor și experienței sale cu alții, oferind sfaturi și tutoriale ușor de urmat pentru îmbunătățirea productivității și eficienței. Indiferent dacă sunteți un profesionist experimentat sau un începător, blogul lui Michael oferă informații valoroase și sfaturi practice pentru a profita la maximum de aceste instrumente software esențiale.