I denne vejledning vil vi se på, hvordan vi kan bruge IFERROR og VLOOKUP funktioner sammen til at fange og håndtere forskellige fejl. Derudover vil du lære, hvordan du kan lave sekventielle vlookups i Excel ved at indlejre flere IFERROR-funktioner oven på hinanden.
Excel VLOOKUP og IFERROR – disse to funktioner kan være ret svære at forstå hver for sig, for slet ikke at tale om når de er kombineret. I denne artikel finder du et par letforståelige eksempler, der omhandler almindelige anvendelser og tydeligt illustrerer formlernes logik.
Hvis du ikke har meget erfaring med IFERROR- og VLOOKUP-funktionerne, kan det være en god idé at genopfriske deres grundprincipper først ved at følge ovenstående links.
- IFERROR med VLOOKUP til håndtering af fejl
- VLOOKUP og returner din egen tekst i stedet for N/A-fejl
- VLOOKUP og returner tom celle eller nul, hvis intet er fundet
- Nest IFERROR inden for VLOOKUP for altid at finde noget
- Sekventielle Vlookups med indlejrede IFERRORs
- IFERROR VLOOKUP-formel til at håndtere #N/A og andre fejl
- Eksempel 1. Iferror Vlookup-formel til at erstatte alle fejl med din egen tekst
- Eksempel 2. IFERROR med VLOOKUP til at returnere blank eller 0, hvis intet er fundet
- Nest IFERROR i VLOOKUP for altid at finde noget
- Sådan udfører du sekventielle VLOOKUPs i Excel
- Tilgængelige downloads
- Du er måske også interesseret i
IFERROR VLOOKUP-formel til at håndtere #N/A og andre fejl
Når Excel Vlookup ikke kan finde en opslagsværdi, kaster den en #N/A-fejl, som f.eks. denne:
Afhængigt af dine forretningsmæssige behov vil du måske skjule fejlen med din egen tekst, nul eller en tom celle.
Eksempel 1. Iferror Vlookup-formel til at erstatte alle fejl med din egen tekst
Hvis du ønsker at erstatte standardfejlnotationen med din egen tekst, skal du indpakke din VLOOKUP-formel i IFERROR og skrive en vilkårlig tekst i det 2. argument (value_if_error), f.eks. “Ikke fundet”:
Med opslagsværdien i B2 i hovedtabellen og opslagsintervallet A2:B4 i opslagstabellen får formlen følgende formular: “VLOOKUP(…), “Ikke fundet””
Med opslagsværdien i B2 i hovedtabellen og opslagsintervallet A2:B4 i opslagstabellen får formlen følgende form:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A:$B, 2, FALSE), "Not found")
Skærmbilledet nedenfor viser vores Excel IFERROR VLOOKUP-formel i aktion:
Resultatet ser meget mere forståeligt og langt mindre intimiderende ud, ikke sandt?
På samme måde kan du bruge INDEX MATCH sammen med IFERROR:
=IFERROR(INDEX('Lookup table'!$B:$B,MATCH(B2,'Lookup table'!$A:$A,0)), "Not found")
IFERROR INDEX MATCH-formlen er især nyttig, når du vil trække værdier fra en kolonne, der ligger til venstre for opslagskolonnen (left lookup), og returnere din egen tekst, når der ikke findes noget.
Eksempel 2. IFERROR med VLOOKUP til at returnere blank eller 0, hvis intet er fundet
Hvis du ikke ønsker at vise noget, når opslagsværdien ikke er fundet, skal du lade IFERROR vise en tom streng (“”):
I vores eksempel lyder formlen således:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A:$B, 2, FALSE), "")
Som du kan se, returnerer den intet, når opslagsværdien ikke findes i søgelisten.
Hvis du ønsker at erstatte fejlen med nulværdien, skal du sætte 0 i det sidste argument:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A:$B, 2, FALSE), 0)
Varsel! Excel IFERROR-funktionen fanger alle slags fejl, ikke kun #N/A. Er det godt eller skidt? Alt afhænger af dit mål. Hvis du ønsker at maskere alle mulige fejl, er IFERROR Vlookup den rigtige løsning. Men det kan være en uklog teknik i mange situationer.
For eksempel, hvis du har oprettet et navngivet område for dine tabeldata og staver navnet forkert i din Vlookup-formel, vil IFERROR fange en #NAME? fejl og erstatte den med “Not found” eller en anden tekst, du angiver. Resultatet er, at du måske aldrig opdager, at din formel leverer forkerte resultater, medmindre du selv opdager stavefejlen. I et sådant tilfælde ville en mere fornuftig fremgangsmåde være at fange kun #N/A-fejl. Til dette formål skal du bruge IFNA Vlookup-formlen i Excel til Office 365, Excel 209, Excel 2016 og Excel 2013, IF ISNA VLOOKUP i alle Excel-versioner.
Den vigtigste pointe er: Vær meget forsigtig, når du vælger en ledsager til din VLOOKUP-formel 🙂
Nest IFERROR i VLOOKUP for altid at finde noget
Forestil dig følgende situation: Du leder efter en bestemt værdi i en liste og finder den ikke. Hvilke valgmuligheder har du? Enten får du en N/A-fejl eller viser din egen meddelelse. Faktisk er der en tredje mulighed – hvis dit primære vlookup snubler, så søg efter noget andet, der helt sikkert er der!
Tager vi vores eksempel videre, så lad os oprette en slags dashboard til vores brugere, der viser dem et telefonnummer for et bestemt kontor. Noget som dette:
Sådan, hvordan trækker man så telefonstillingsnummeret fra kolonne B baseret på kontornummeret i D2? Med denne almindelige Vlookup-formel:
=VLOOKUP($D,$A:$B,2,FALSE)
Og det vil fungere fint, så længe dine brugere indtaster et gyldigt nummer i D2. Men hvad nu, hvis en bruger indtaster et nummer, der ikke findes? I dette tilfælde skal du lade dem ringe til centralen! Til dette formål indlejrer du ovenstående formel i value-argumentet i IFERROR og indsætter en anden Vlookup i value_if_error-argumentet.
Den komplette formel er lidt lang, men den fungerer perfekt:
=IFERROR(VLOOKUP("office "&$D,$A:$B,2,FALSE),VLOOKUP("central office",$A:$B,2,FALSE))
Hvis kontornummeret findes, får brugeren det tilsvarende telefonnummer:
Hvis kontornummeret ikke findes, vises telefonnummeret til centralkontoret:
For at gøre formlen lidt mere kompakt kan du bruge en anden fremgangsmåde:
Først skal du kontrollere, om nummeret i D2 findes i opslagskolonnen (bemærk, at vi har sat col_index_num til 1, for at formlen skal slå op og returnere værdien fra kolonne A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)
Hvis det angivne kontornummer ikke findes, søger vi efter strengen “central office”, som helt sikkert findes i opslagslisten. Hertil pakker man den første VLOOKUP ind i IFERROR og indlejrer hele denne kombination i en anden VLOOKUP-funktion:
=VLOOKUP(IFERROR(VLOOKUP(D2,$A:$B,1,FALSE),"central office"),$A:$B,2)
Jamen, en lidt anderledes formel, samme resultat:
Men hvad er grunden til at slå op på “central office”, spørger du mig måske. Hvorfor ikke angive telefonnummeret direkte i IFERROR? Fordi nummeret kan ændre sig på et tidspunkt i fremtiden. Hvis det sker, skal du kun opdatere dine data én gang i kildetabellen, uden at du behøver at bekymre dig om at opdatere hver enkelt VLOOKUP-formel.
Sådan udfører du sekventielle VLOOKUPs i Excel
I situationer, hvor du skal udføre de såkaldte sekventielle eller kædeformede Vlookups i Excel afhængigt af, om et tidligere opslag lykkedes eller mislykkedes, skal du indlejre to eller flere IFERROR-funktioner for at køre dine Vlookups en efter en:
Formlen fungerer med følgende logik:
Hvis den første VLOOKUP ikke finder noget, fanger den første IFERROR en fejl og kører en anden VLOOKUP. Hvis den anden VLOOKUP ikke slår fejl, fanger den anden IFERROR en fejl og kører den tredje VLOOKUP osv. Hvis alle Vlookups snubler, returnerer den sidste IFERROR din besked.
Denne indlejrede IFERROR-formel er især nyttig, når du skal Vlookup på tværs af flere ark, som vist i nedenstående eksempel.
Lad os sige, at du har tre lister med ensartede data i tre forskellige regneark (kontornumre i dette eksempel), og du vil have en forlængelse for et bestemt nummer.
Hvis opslagsværdien er i celle A2 i det aktuelle ark, og opslagsintervallet er A2:B5 i 3 forskellige regneark (Nord, Syd og Vest), fungerer følgende formel fint:
=IFERROR(VLOOKUP(A2,North!$A:$B,2,FALSE), IFERROR(VLOOKUP(A2,South!$A:$B,2,FALSE), IFERROR(VLOOKUP(A2,West!$A:$B,2,FALSE),"Not found")))
Så vores “chained Vlookups”-formel søger i alle tre ark i den rækkefølge, vi har indlejret dem i formlen, og bringer det første match, den finder:
Det er sådan, du bruger IFERROR med VLOOKUP i Excel. Jeg takker for din læsning og håber at se dig på vores blog i næste uge!
Tilgængelige downloads
Excel IFERROR VLOOKUP-formeleksempler
Du er måske også interesseret i
- Excel IFERROR-funktion med formeleksempler
- Anvendelse af IF med VLOOKUP i Excel
- Excel VLOOKUP tutorial for begyndere