Funció ISERROR a Excel amb exemples de fórmules

  • Comparteix Això
Michael Brown

El tutorial analitza els usos pràctics de la funció ISERROR d'Excel i mostra com provar diferents fórmules per detectar errors.

Quan escriviu una fórmula que Excel no entén o no pot calcular, us crida l'atenció sobre el problema mostrant un missatge d'error. La funció ISERROR us pot ajudar a detectar errors i proporcionar una alternativa quan es troba un error.

    Funció ISERROR a Excel

    La funció ISERROR d'Excel detecta tot tipus d'errors, incloent #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! i #SPILL!. El resultat és un valor booleà: TRUE si es detecta un error, FALSE en cas contrari.

    La funció està disponible en totes les versions d'Excel 2000 a 2021 i Excel 365.

    La sintaxi de ISERROR La funció és tan senzilla com aquesta:

    ISERROR(valor)

    On valor és el valor de la cel·la o la fórmula que s'ha de comprovar si hi ha errors.

    Fórmula d'Excel ISERROR

    Per crear una fórmula ISERROR en la seva forma més senzilla, proporcioneu una referència a la cel·la que voleu comprovar si hi ha errors. Per exemple:

    =ISERROR(A2)

    En cas que es trobi algun error, obtindreu TRUE. Si no hi ha cap error a la cel·la provada, obtindreu FALSE:

    IF ISERROR fórmula a Excel

    Per retornar un missatge personalitzat o realitzar un un càlcul diferent quan es produeix un error, utilitzeu ISERROR juntament amb la funció IF. La fórmula genèrica té el següent aspecte:

    IF(ISERROR( formula(…), text_or_calculation_if_error, formula())

    Traduït a un llenguatge humà, diu: si la fórmula principal resulta en cas d'error, mostreu el text especificat o executeu un altre càlcul, en cas contrari retorneu un resultat normal de la fórmula.

    A la imatge següent, dividint el total per la quantitat genera un parell d'errors al Preu. Columna :

    Per substituir tots els codis d'error diferents per un text personalitzat, podeu utilitzar la fórmula IF ISERROR:

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

    A Excel 2007 i versions posteriors, es pot aconseguir el mateix resultat amb l'ajuda de la funció IFERROR integrada:

    =IFERROR(A2/B2, "Unknown")

    Hauria de ser va assenyalar que la fórmula IFERROR s'executa una mica més ràpid perquè realitza el càlcul A2/B2 només una vegada. Mentre que IF ISERROR el calcula dues vegades, primer per veure si genera un error i després de nou si la prova és FALSA.

    Fórmula IF ISERROR VLOOKUP

    Utilitzar ISERROR amb VLOOKUP és, de fet, un cas particular de IF IS Fórmula ERROR comentada anteriorment. Quan la funció BUSCARV no pot trobar el valor de cerca o falla per qualsevol altre motiu, mostreu un missatge de text personalitzat mitjançant aquesta sintaxi:

    IF(ISERROR(LOOKUP(…)), " text_personalitzat", VLOOKUP(…))

    Per a aquest exemple, traurem els temps de la taula de cerca (D3:E10) a la taula principal (A3:B15). Si el valor de cerca (nom del participant) no existeix al fitxertaula de cerca, tornarem "No qualificat".

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

    Consell. Si voleu mostrar un text personalitzat només quan no es trobi un valor de cerca (error #N/A) ignorant altres errors, feu servir la fórmula IFNA VLOOKUP a Excel 2013 i posteriors o IF ISNA VLOOKUP a una versió anterior. versions.

    SI ÉS ERROR Fórmula INDEX MATCH

    Quan realitzeu una cerca amb l'ajuda de la combinació INDEX MATCH (o la fórmula INDEX XMATCH a Excel 365), podeu atrapar i gestionar els possibles errors utilitzant la mateixa tècnica: la funció ISERROR comprova si hi ha errors i IF mostra el text especificat quan es produeix algun error.

    IF(ISERROR(INDEX ( columna_retorn , COINCORDA ( valor_cerca , columna_cerca >, 0)))), " text_personalitzat ", INDEX ( columna_retorn , COINCORDA ( valor_de_cerca , columna_de_cerca , 0)))

    Suposem que la taula de cerca té temps a la primera columna. Com que BUSCARV no pot mirar a la seva esquerra, utilitzem la fórmula INDEX MATCH per extreure els temps de la columna D:

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

    I, a continuació, l'encamineu a la fórmula genèrica esmentada anteriorment. per substituir els errors detectats amb qualsevol text que vulgueu:

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

    Nota. Igual que amb la fórmula IF ISERROR VLOOKUP, té més sentit atrapar només errors #N/A i no dissimular problemes potencials amb la fórmula en si. Per a això, embolcalleu la vostra fórmula MATEMÀTICA INDEX a IFNA a Excel 2013 i superior o IF ISNA en versions anteriors.

    SIISERROR Fórmula Sí/No

    En tots els exemples anteriors, IF ISERROR ha retornat el resultat de la fórmula principal si no és un error. Tanmateix, també pot funcionar d'una manera diferent: retornar alguna cosa si hi ha error i una altra cosa si no hi ha cap error.

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

    En el nostre conjunt de dades de mostra, suposem que no us interessen les hores exactes, només voleu saber quins participants del grup A estan qualificats i quins no. Per fer-ho, utilitzeu la funció MATCH per comparar el nom de la columna A amb la llista de participants qualificats de la columna D i, a continuació, envieu els resultats a ISERROR. Si el nom no està disponible a la columna D (MATCH retorna un error), feu que la funció SI mostri "No" o "No qualificat". Si el nom apareix a la columna D (sense error), retorneu "Sí" o "Qualificat".

    =IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )

    Com comptar el nombre d'errors

    Per obtenir el nombre d'errors d'una columna determinada, heu de comprovar un interval, no només una cel·la. Per a això, "alimenteu" l'interval objectiu a ISERROR i coaccioneu els valors booleans retornats en 1 i 0 mitjançant l'operador unari doble (--). La funció SUMA o SUMAPRODUCTE pot sumar els nombres i oferir el resultat final.

    Per exemple:

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

    Tingueu en compte que només funciona com a fórmula normal a Excel 365 i Excel 2021, que admeten matrius dinàmiques. A Excel 2019 i anteriors, vostècal prémer Ctrl + Maj + Retorn per crear una fórmula de matriu (no escriviu claudàtors manualment, això no funcionarà!):

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

    Com a alternativa, podeu utilitzar SUMPRODUCT funció que gestiona matrius de manera nativa, de manera que la fórmula es pot completar amb la tecla Enter habitual en totes les versions:

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

    Diferència entre ISERROR i IFERROR a Excel

    Tant les funcions ISERROR com IFERROR s'utilitzen per atrapar i gestionar errors a Excel. La diferència és la següent:

    • En la seva forma pura, ISERROR només prova si el valor és un error o no. Està disponible en totes les versions d'Excel.
    • La funció IFERROR està dissenyada per suprimir o dissimular errors: quan es troba un error, retorna un altre valor que especifiqueu. Està disponible a Excel 2007 i superior.

    A primera vista, IFERROR sembla una alternativa abreujada a la fórmula IF ISERROR. Amb una ullada més de prop, però, podeu notar la diferència:

    • IFERROR us permet especificar només value_if_error . Si no hi ha cap error, sempre retorna el resultat del valor/fórmula provat.
    • IF ISERROR proporciona més flexibilitat i us permet gestionar ambdues situacions: què hauria de passar si hi ha un error i què passa si no hi ha error.

    Per il·lustrar millor el punt, tingueu en compte aquestes fórmules:

    =IFERROR(A1, "Calculation error")

    =IF(ISERROR(A1), "Calculation error", A1)

    Aquestes dues fórmules són equivalents; totes dues comproven un valor basat en la fórmula. en A1 i tornada"Error de càlcul" si és un error, en cas contrari, retorneu el valor.

    Però què passa si voleu realitzar algun càlcul si el valor d'A1 no és un error? La funció IFERROR no pot fer-ho. En cas d'IF ISERROR, només cal que escriviu el càlcul desitjat a l'últim argument. Per exemple:

    =IF(ISERROR(A1), "Calculation error", A1*2)

    Com veieu, aquesta variació més llarga de la fórmula IFERROR, que sovint es considera obsoleta, encara pot ser útil :)

    Descàrregues disponibles

    Exemples de fórmules ISERROR (fitxer .xlsx)

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.