Indholdsfortegnelse
Denne vejledning viser, hvordan du bruger IFERROR i Excel til at opfange fejl og erstatte dem med en tom celle, en anden værdi eller en brugerdefineret meddelelse. Du lærer, hvordan du bruger IFERROR-funktionen med Vlookup og Index Match, og hvordan den kan sammenlignes med IF ISERROR og IFNA.
"Giv mig et sted at stå, og jeg skal flytte jorden," sagde Archimedes engang. "Giv mig en formel, og jeg skal få den til at returnere en fejl," ville en Excel-bruger sige. I denne vejledning vil vi ikke se på, hvordan man returnerer fejl i Excel, men hellere lære, hvordan man kan forhindre dem, så dine regneark forbliver rene og dine formler gennemsigtige.
Excel IFERROR-funktion - syntaks og grundlæggende anvendelser
IFERROR-funktionen i Excel er designet til at fange og håndtere fejl i formler og beregninger. Mere specifikt kontrollerer IFERROR en formel, og hvis den evaluerer til en fejl, returnerer den en anden værdi, du angiver, ellers returnerer den resultatet af formlen.
Syntaksen for Excel-funktionen IFERROR er som følger:
IFERROR(value, value_if_error)Hvor:
- Værdi (påkrævet) - det, der skal kontrolleres for fejl. Det kan være en formel, et udtryk, en værdi eller en cellehenvisning.
- Value_if_error (påkrævet) - hvad der skal returneres, hvis der findes en fejl. Det kan være en tom streng (tom celle), en tekstmeddelelse, en numerisk værdi, en anden formel eller beregning.
Når du f.eks. dividerer to kolonner med tal, kan du få en række forskellige fejl, hvis en af kolonnerne indeholder tomme celler, nuller eller tekst.
For at forhindre det, skal du bruge IFERROR-funktionen til at opfange og håndtere fejl på den måde, du ønsker.
Hvis fejl, derefter blank
Angiv en tom streng (") til value_if_error argumentet for at returnere en tom celle, hvis der er fundet en fejl:
=IFERROR(A2/B2, "")
Hvis der er fejl, vises en meddelelse
Du kan også vise din egen meddelelse i stedet for Excels standardfejlnotation:
=IFERROR(A2/B2, "Fejl i beregningen")
5 ting, du bør vide om Excel IFERROR-funktionen
- IFERROR-funktionen i Excel håndterer alle fejltyper, herunder #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! og #VALUE!.
- Afhængigt af indholdet af value_if_error kan IFERROR erstatte fejl med din brugerdefinerede tekstmeddelelse, et tal, en dato eller en logisk værdi, resultatet af en anden formel eller en tom streng (tom celle).
- Hvis den værdi argumentet er en tom celle, behandles det som en tom streng (''''), men ikke som en fejl.
- IFERROR blev introduceret i Excel 2007 og er tilgængelig i alle efterfølgende versioner af Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 og Excel 365.
- Hvis du vil fange fejl i Excel 2003 og tidligere versioner, skal du bruge funktionen ISERROR i kombination med IF, som vist i dette eksempel.
Eksempler på IFERROR-formler
De følgende eksempler viser, hvordan du kan bruge IFERROR i Excel i kombination med andre funktioner til at udføre mere komplekse opgaver.
Excel IFERROR med Vlookup
En af de mest almindelige anvendelser af IFERROR-funktionen er at fortælle brugerne, at den værdi, de søger efter, ikke findes i datasættet. Til dette formål indpakker du en VLOOKUP-formel i IFERROR på følgende måde:
IFERROR(VLOOKUP( ... ), "Ikke fundet"))Hvis opslagsværdien ikke findes i den tabel, du søger i, ville en almindelig Vlookup-formel returnere #N/A-fejlen:
For at give dine brugere ro i sindet kan du pakke VLOOKUP ind i IFERROR og vise en mere informativ og brugervenlig meddelelse:
=IFERROR(VLOOKUP(A2, 'Opslagstabel'!$A$2:$B$4, 2,FALSE), "Ikke fundet")
Skærmbilledet nedenfor viser denne Iferror-formel i Excel:
Hvis du kun vil fange #N/A-fejl, men ikke alle fejl, skal du bruge IFNA-funktionen i stedet for IFERROR.
Du kan finde flere eksempler på Excel IFERROR VLOOKUP-formler i disse tutorials:
- Iferror med Vlookup til at fange og håndtere fejl
- Sådan får du den niende forekomst af opslagsværdien
- Sådan får du alle forekomster af opslagsværdien
Inlejrede IFERROR-funktioner til sekventielle Vlookups i Excel
I situationer, hvor du har brug for at udføre flere Vlookups baseret på, om den foregående Vlookup lykkedes eller mislykkedes, kan du integrere to eller flere IFERROR-funktioner i hinanden.
Lad os antage, at du har en række salgsrapporter fra regionale afdelinger af din virksomhed, og at du ønsker at få et beløb for et bestemt ordre-id. Med A2 som opslagsværdi i det aktuelle ark og A2:B5 som opslagsinterval i 3 opslagsark (Rapport 1, Rapport 2 og Rapport 3), lyder formlen således:
=IFERROR(VLOOKUP(A2,'Rapport 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Rapport 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Rapport 3'!A2:B5,2,0), "ikke fundet")))
Resultatet kommer til at se nogenlunde sådan her ud:
Du kan finde en detaljeret forklaring på formlens logik i Hvordan man laver sekventielle Vlookups i Excel.
IFERROR i array-formler
Som du sikkert ved, er arrayformler i Excel beregnet til at udføre flere beregninger i en enkelt formel. Hvis du angiver en arrayformel eller et udtryk, der resulterer i et array i værdi argumentet i IFERROR-funktionen, returnerer den et array af værdier for hver celle i det angivne område. Nedenstående eksempel viser detaljerne.
Lad os sige, at du har I alt i kolonne B og Pris i kolonne C, og du ønsker at beregne Samlet mængde Dette kan gøres ved at bruge følgende array-formel, som dividerer hver celle i intervallet B2:B4 med den tilsvarende celle i intervallet C2:C4 og derefter lægger resultaterne sammen:
=SUM($B$2:$B$4/$C$2:$C$4)
Formlen fungerer fint, så længe divisorområdet ikke indeholder nuller eller tomme celler. Hvis der er mindst én 0-værdi eller tom celle, returneres fejlen #DIV/0!
For at rette fejlen skal du blot foretage divisionen i IFERROR-funktionen:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Formlen dividerer en værdi i kolonne B med en værdi i kolonne C i hver række (100/2, 200/5 og 0/0) og returnerer arrayet af resultater {50; 40; #DIV/0!}. IFERROR-funktionen opfanger alle #DIV/0! fejl og erstatter dem med nuller. Derefter summerer SUM-funktionen værdierne i det resulterende array {50; 40; 0} og giver det endelige resultat (50+40=90).
Bemærk: Husk, at array-formler skal udfyldes ved at trykke på genvejen Ctrl + Shift + Enter.
IFERROR vs. IF ISERROR
Nu hvor du ved, hvor nemt det er at bruge IFERROR-funktionen i Excel, undrer du dig måske over, hvorfor nogle mennesker stadig hælder til at bruge IF ISERROR-kombinationen. Har den nogen fordele i forhold til IFERROR? Ingen. I de dårlige gamle dage i Excel 2003 og lavere, hvor IFERROR ikke fandtes, var IF ISERROR den eneste mulige måde at fange fejl på. I Excel 2007 og nyere er det bare en lidt mere kompleks måde atopnå det samme resultat.
For at fange Vlookup-fejl kan du f.eks. bruge en af nedenstående formler.
I Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( ... ), "Ikke fundet"))I alle Excel-versioner:
IF(ISERROR(VLOOKUP(...))), "Ikke fundet", VLOOKUP(...)))Bemærk, at i formlen IF ISERROR VLOOKUP skal du Vlookup to gange. På almindeligt dansk kan formlen læses således: Hvis Vlookup resulterer i en fejl, returneres "Ikke fundet", ellers outputes Vlookup-resultatet.
Og her er et eksempel fra det virkelige liv på en Excel If Iserror Vlookup-formel:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Ikke fundet", VLOOKUP(D2, A2:B5,2,FALSE ))
Du kan finde flere oplysninger under Brug af ISERROR-funktionen i Excel.
IFERROR vs. IFNA
IFNA, der blev introduceret med Excel 2013, er endnu en funktion til at kontrollere en formel for fejl. Dens syntaks svarer til IFERROR:
IFNA(værdi, value_if_na)På hvilken måde adskiller IFNA sig fra IFERROR? IFNA-funktionen fanger kun #N/A fejl mens IFERROR håndterer alle fejltyper.
I hvilke situationer kan du bruge IFNA? Når det er uklogt at skjule alle fejl. Når du f.eks. arbejder med vigtige eller følsomme data, kan du ønske at blive advaret om mulige fejl i dit datasæt, og standard Excel-fejlmeddelelser med "#"-symbolet kan være en tydelig visuel indikator.
Lad os se, hvordan du kan lave en formel, der viser meddelelsen "Ikke fundet" i stedet for N/A-fejlen, som vises, når opslagsværdien ikke findes i datasættet, men som gør dig opmærksom på andre Excel-fejl.
Lad os antage, at du ønsker at trække antal fra opslagstabellen til oversigtstabellen, som vist i skærmbilledet nedenfor. Hvis du bruger Excel Iferror Vlookup-formlen, vil det give et æstetisk tiltalende resultat, som teknisk set er forkert, fordi Citroner findes i opslagsskemaet:
Hvis du vil fange #N/A, men vise #DIV/0-fejlen, skal du bruge IFNA-funktionen i Excel 2013 og Excel 2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Ikke fundet")
Eller kombinationen IF ISNA i Excel 2010 og tidligere versioner:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "Ikke fundet", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
Syntaksen for formlerne IFNA VLOOKUP og IF ISNA VLOOKUP svarer til den syntaks for IFERROR VLOOKUP og IF ISERROR VLOOKUP, der er beskrevet tidligere.
Som vist i skærmbilledet nedenfor returnerer Ifna Vlookup-formlen kun "Ikke fundet" for det element, der ikke findes i opslagstabellen ( Ferskner ). For Citroner vises #DIV/0!, hvilket indikerer, at vores opslagstabel indeholder en fejl ved at dividere med nul:
Du kan finde flere oplysninger under Brug af IFNA-funktionen i Excel.
Bedste praksis for brug af IFERROR i Excel
Du ved allerede nu, at IFERROR-funktionen er den nemmeste måde at opfange fejl i Excel på og maskere dem med tomme celler, nulværdier eller dine egne brugerdefinerede meddelelser. Det betyder dog ikke, at du skal pakke hver eneste formel ind i fejlbehandling. Følgende enkle anbefalinger kan hjælpe dig med at holde balancen.
- Fang ikke fejl uden en grund.
- Indpak den mindste mulige del af en formel i IFERROR.
- Hvis du kun vil håndtere specifikke fejl, skal du bruge en fejlbehandlingsfunktion med et mindre omfang:
- IFNA eller IF ISNA for kun at opfange #N/A-fejl.
- ISERR for at opfange alle fejl undtagen #N/A.
Sådan bruger du IFERROR-funktionen i Excel til at fange og håndtere fejl. Hvis du vil se nærmere på de formler, der er beskrevet i denne vejledning, er du velkommen til at downloade vores eksempel på IFERROR-arbejdsmappe til Excel. Tak for din læsning og håber at se dig på vores blog i næste uge.