ISERROR-funktionen i Excel med eksempler på formler

  • Del Dette
Michael Brown

I denne vejledning gennemgås de praktiske anvendelser af Excel-funktionen ISERROR, og det vises, hvordan man tester forskellige formler for fejl.

Når du skriver en formel, som Excel ikke forstår eller ikke kan beregne, gør Excel dig opmærksom på problemet ved at vise en fejlmeddelelse. Funktionen ISERROR kan hjælpe dig med at opdage fejl og give dig et alternativ, når der findes en fejl.

    ISERROR-funktionen i Excel

    Excel-funktionen ISERROR opfanger alle slags fejl, herunder #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! og #SPILL! Resultatet er en boolsk værdi: TRUE, hvis der er fundet en fejl, ellers FALSE.

    Funktionen er tilgængelig i alle versioner af Excel 2000 til og med 2021 og Excel 365.

    Syntaksen for ISERROR-funktionen er så enkel som denne:

    ISERROR(værdi)

    Hvor værdi er den celleværdi eller formel, der skal kontrolleres for fejl.

    Excel ISERROR-formel

    Hvis du vil oprette en ISERROR-formel i sin enkleste form, skal du angive en henvisning til den celle, som du vil teste for fejl. F.eks:

    =ISERROR(A2)

    Hvis der findes en fejl, får du TRUE. Hvis der ikke findes nogen fejl i den testede celle, får du FALSE:

    IF ISERROR-formel i Excel

    Hvis du vil returnere en brugerdefineret meddelelse eller udføre en anden beregning, når der opstår en fejl, skal du bruge ISERROR sammen med IF-funktionen. Den generiske formel ser ud som følger:

    IF(ISERROR( formel (...), text_or_calculation_if_error , formel ())

    Oversat til et menneskeligt sprog siger den: Hvis hovedformlen resulterer i en fejl, skal du vise den angivne tekst eller køre en anden beregning, ellers returnerer du et normalt resultat af formlen.

    I nedenstående billede giver divideringen af totalen med mængden et par fejl i Pris kolonne:

    Hvis du vil erstatte alle forskellige fejlkoder med en brugerdefineret tekst, kan du bruge følgende formel IF ISERROR:

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

    I Excel 2007 og senere versioner kan det samme resultat opnås ved hjælp af den indbyggede IFERROR-funktion:

    =IFERROR(A2/B2, "Ukendt")

    Det skal bemærkes, at IFERROR-formlen kører lidt hurtigere, fordi den kun udfører A2/B2-beregningen én gang, mens IF ISERROR beregner den to gange - først for at se, om den genererer en fejl, og derefter igen, hvis testen er FALSK.

    IF ISERROR VLOOKUP-formel

    Anvendelse af ISERROR med VLOOKUP er faktisk et særligt tilfælde af IF ISERROR-formlen, der er beskrevet ovenfor. Når VLOOKUP-funktionen ikke kan finde opslagsværdien eller fejler af en anden grund, kan du vise en brugerdefineret tekstmeddelelse ved hjælp af denne syntaks:

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

    I dette eksempel skal vi trække tiderne fra opslagstabellen (D3:E10) til hovedtabellen (A3:B15). Hvis opslagsværdien (deltagerens navn) ikke findes i opslagstabellen, returnerer vi "Ikke kvalificeret".

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

    Tip. Hvis du kun ønsker at vise en brugerdefineret tekst, når en opslagsværdien er ikke fundet (#N/A-fejl) og ignorerer andre fejl, skal du bruge formlen IFNA VLOOKUP i Excel 2013 og nyere versioner eller IF ISNA VLOOKUP i ældre versioner.

    IF ISERROR INDEX MATCH-formel

    Når du udfører et opslag ved hjælp af INDEX MATCH-kombinationen (eller INDEX XMATCH-formlen i Excel 365), kan du fange og håndtere eventuelle fejl ved hjælp af den samme teknik - ISERROR-funktionen kontrollerer, om der er fejl, og IF viser den angivne tekst, når der opstår en fejl.

    IF(ISERROR(INDEX ( return_column , MATCH ( opslagsværdi , opslagsspalte , 0)))), " custom_text ", INDEX ( return_column , MATCH ( opslagsværdi , opslagsspalte , 0)))

    Lad os antage, at opslagstabellen har tidspunkter i den første kolonne. Da VLOOKUP ikke kan se til venstre, bruger vi formlen INDEX MATCH til at hente tidspunkterne fra kolonne D:

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

    Derefter kan du integrere den i den ovennævnte generiske formel for at erstatte de opfangede fejl med den tekst, du ønsker:

    =IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))), "Ikke kvalificeret", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))

    Bemærk. Som med IF ISERROR VLOOKUP-formlen giver det mere mening kun at fange #N/A-fejl og ikke skjule potentielle problemer med selve formlen. Derfor skal du indpakke din INDEX MATH-formel i IFNA i Excel 2013 og højere eller IF ISNA i tidligere versioner.

    IF ISERROR Ja/Nej-formel

    I alle de foregående eksempler returnerede IF ISERROR resultatet af hovedformlen, hvis der ikke er en fejl. Det kan dog også fungere på en anden måde - returnere noget, hvis der er fejl, og noget andet, hvis der ikke er fejl.

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

    Lad os antage, at du i vores eksempeldatasæt ikke er interesseret i de nøjagtige tidspunkter, men blot vil vide, hvilke deltagere fra gruppe A der er kvalificerede, og hvilke der ikke er. For at gøre dette skal du bruge MATCH-funktionen til at sammenligne navnet i kolonne A med listen over kvalificerede deltagere i kolonne D og derefter sende resultaterne til ISERROR. Hvis navnet ikke findes i kolonne D (MATCH returnerer en fejl), skal du fåIF-funktionen til at vise "Nej" eller "Ikke kvalificeret". Hvis navnet vises i kolonne D (ingen fejl), returneres "Ja" eller "Kvalificeret".

    =IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "Nej", "Ja" )

    Sådan tæller du antallet af fejl

    Hvis du vil have antallet af fejl i en bestemt kolonne, skal du kontrollere et område og ikke kun en enkelt celle. Du skal derfor "fodre" målområdet med ISERROR og omdanne de returnerede boolske værdier til 1'er og 0'er ved hjælp af den dobbelte unære operatør (--). Funktionen SUM eller SUMPRODUCT kan lægge tallene sammen og levere det endelige resultat.

    For eksempel:

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

    Bemærk, at dette kun fungerer som en almindelig formel i Excel 365 og Excel 2021, som understøtter dynamiske arrays. I Excel 2019 og tidligere skal du trykke på Ctrl + Shift + Enter for at oprette en array-formel (skriv ikke krøllede parenteser manuelt, det virker ikke!):

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

    Alternativt kan du bruge funktionen SUMPRODUCT, der håndterer arrays, så formlen kan afsluttes med den sædvanlige Enter-tasten i alle versioner:

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

    Forskellen mellem ISERROR og IFERROR i Excel

    Både ISERROR- og IFERROR-funktionerne bruges til at fange og håndtere fejl i Excel. Forskellen er følgende:

    • I sin rene form tester ISERROR blot, om værdien er en fejl eller ej. Den er tilgængelig i alle Excel-versioner.
    • IFERROR-funktionen er designet til at undertrykke eller skjule fejl - når der findes en fejl, returnerer den en anden værdi, som du angiver. Den er tilgængelig i Excel 2007 og nyere versioner.

    Ved første øjekast ligner IFERROR et alternativ til IF ISERROR-formlen, men ved nærmere eftersyn kan du se forskellen:

    • IFERROR giver dig mulighed for kun at angive value_if_error Hvis der ikke er nogen fejl, returnerer den altid resultatet af den testede værdi/formel.
    • IF ISERROR giver mere fleksibilitet og giver dig mulighed for at håndtere begge situationer - hvad der skal ske, hvis der opstår en fejl, og hvad der skal ske, hvis der ikke opstår nogen fejl.

    For at illustrere det bedre kan man se på disse formler:

    =IFERROR(A1, "Beregningsfejl")

    =IF(ISERROR(A1), "Beregningsfejl", A1)

    Disse to formler er ækvivalente - begge kontrollerer en formelstyret værdi i A1 og returnerer "Beregningsfejl", hvis der er tale om en fejl, ellers returnerer de værdien.

    Men hvad hvis du vil udføre en beregning, hvis værdien i A1 ikke er en fejl? Det kan IFERROR-funktionen ikke gøre. I tilfælde af IF ISERROR skal du blot skrive den ønskede beregning i det sidste argument. F.eks:

    =IF(ISERROR(A1), "Beregningsfejl", A1*2)

    Som du kan se, kan denne længere variant af IFERROR-formlen, som ofte anses for at være forældet, stadig være nyttig :)

    Tilgængelige downloads

    ISERROR-formeleksempler (.xlsx-fil)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.