Innholdsfortegnelse
I denne opplæringen skal vi se på hvordan du bruker ISERROR med VLOOKUP i Excel for å håndtere alle slags feil produktivt.
VLOOKUP er en av de mest forvirrende Excel-funksjonene som er plaget med mange problemer. Uansett hvilken tabell du ser i, er #N/A-feil et vanlig syn, med #NAVN og #VERDI som også vises nå og da. Å bruke VLOOKUP med ISERROR kan hjelpe deg med å fange opp alle mulige feil og håndtere dem på en måte som passer best for din situasjon.
Hvorfor gir VLOOKUP en feil?
Det meste Vanlig feil i VLOOKUP-formler er #N/A som oppstår når en oppslagsverdi ikke blir funnet. Dette kan skje på grunn av forskjellige årsaker:
- Oppslagsverdien finnes ikke i oppslagsmatrisen.
- Oppslagsverdien er feilstavet.
- Det er ledende eller etterfølgende mellomrom i oppslagsverdien eller oppslagskolonnen.
- Oppslagskolonnen er ikke kolonnen lengst til venstre i tabellmatrisen.
I tillegg kan du støte på en #VALUE ! feil, f.eks. når oppslagsverdien inneholder mer enn 255 tegn. I tilfelle det er en stavefeil i funksjonens navn, vil en #NAME? -feil vises.
For fullstendig referanse, vennligst se vårt tidligere innlegg om Hvorfor Excel VLOOKUP ikke fungerer.
HVIS FEIL VLOOKUP-formel for å erstatte feil med egendefinert tekst
For å skjule alle mulige feil som kan utløses av VLOOKUP, kan du plassere den inne i HVIS FEIL-formelenslik:
IF(FEIL(VLOOKUP(…)), " tekst_hvis_feil", VLOOKUP(...))La oss som et eksempel trekke navnene på fagene der elevene til gruppe A mislykkede tester:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
Som et resultat får du en haug med #N/A-feil, som kan skape et inntrykk av at formelen er korrupt.
I sannhet indikerer disse feilene bare at noen av oppslagsverdiene (A3:A14) ikke finnes i oppslagslisten (D3:D9). For å tydelig formidle den ideen kan du legge inn VLOOKUP-formelen din i IF ISERROR-konstruksjonen:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Dette vil fange opp feil og returnere din egendefinerte tekstmelding:
Tips og merknader:
- Den største fordelen med denne formelen er at den fungerer bra i alle versjoner av Excel 2000 til og med Excel 365. I moderne versjoner, enklere og mer kompakte alternativer er tilgjengelige.
- FEIL-funksjonen fanger opp absolutt alle feil , som #N/A, #NAME, #VALUE, osv. Hvis du ønsker å vise en egendefinert melding bare når en oppslagsverdi ikke er funnet (#N/A feil), bruk IF ISNA VLOOKUP (i alle versjoner) eller IFNA VLOOKUP (i Excel 2013 og nyere).
FEIL VLOOKUP til return tom cell if error
For å ha en tom celle når en feil oppstår, få formelen til å returnere en tom streng ("") i stedet for en egendefinert tekst:
IF(FEIL(VLOOKUP(…) ), "", VLOOKUP(...))I vårt tilfelle har formelen denne formen:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
resultatet er nøyaktig som forventet - en tom celle hvis elevens navn ikke finnes i oppslagstabellen.
Tips. På lignende måte kan du erstatte VLOOKUP-feil med nuller, bindestreker eller andre tegn du liker. Bare bruk ønsket tegn i stedet for en tom streng.
HVIS FEIL VLOOKUP Ja/Nei formel
I noen situasjoner kan du lete etter noe, men i stedet for å trekke fyrstikkene vil du bare returnere Ja (eller en annen tekst hvis oppslagsverdi er funnet) og Nei (hvis oppslagsverdien ikke finnes). For å få det gjort, kan du bruke denne generiske formelen:
IF(FEIL(VLOOKUP(…)), " tekst_hvis_ikke_funnet ", " tekst_hvis_funnet ")I vår eksempeldatasettet, anta at du ønsker å vite hvilke elever som ikke bestod en test og hvilke som ikke gjorde det. For å oppnå dette, server den allerede kjente ISERROR VLOOKUP-formelen til den logiske testen av IF og be den sende ut "Nei" hvis verdien ikke finnes (ISERROR VLOOKUP returnerer TRUE), "Yes" hvis funnet (FEIL VLOOKUP returnerer FALSE):
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", "Yes")
FEIL VLOOKUP-alternativer
HVIS FEIL-kombinasjonen er den eldste påviste teknikken til Vlookup uten feil i Excel. Over tid har nye funksjoner utviklet seg, noe som gir enklere måter å utføre den samme oppgaven på. Nedenfor vil vi diskutere andre mulige løsninger og når hver er best å bruke.
IFERROR VLOOKUP
Tilgjengelig i Excel 2007 oghøyere
Fra og med versjon 2007 har Excel en spesiell funksjon, kalt IFERROR, for å sjekke en formel for feil og returnere din egen tekst (eller kjøre en alternativ formel) hvis en feil oppdages.
IFERROR(VLOOKUP(…), " tekst_hvis_feil ")Den virkelige formelen er som følger:
=IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
Ved første øyekast ser det ut som en kortere analog av IF ISERROR VLOOKUP-formelen. Det er imidlertid en vesentlig forskjell:
- IFERROR VLOOKUP antar at du alltid vil ha resultatet av VLOOKUP hvis det ikke er en feil.
- HVIS FEIL VLOOKUP lar deg spesifisere hva du skal returner hvis en feil og hva hvis ingen feil.
For mer informasjon, se Bruke IFERROR med VLOOKUP i Excel.
IF ISNA VLOOKUP
Fungerer i Excel 2000 og senere
I situasjoner hvor du bare vil fange #N/A uten å fange opp andre feil, kommer ISNA-funksjonen godt med. Syntaksen er den samme som for IF FEIL VLOOKUP:
IF(ISNA(VLOOKUP(…)), " text_if_error ", VLOOKUP(...))Men under visse omstendigheter, ser dette ut til at identisk formel kan gi forskjellige resultater:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
I bildet nedenfor inneholder celle A13 mange etterfølgende mellomrom på grunn av hvilke den totale lengden på oppslagsverdien overstiger 255 tegn. Som et resultat utløser formelen en #VERDI! feil, henleder oppmerksomheten din til den cellen og oppmuntrer til å undersøke årsakene. FEILVLOOKUP vil returnere "Nei" i dette tilfellet, noe som bare vil skjule problemet og gi et helt feil resultat.
Når du skal bruke:
Denne formelen fungerer vakkert i en situasjon der du vil vise litt tekst bare når en oppslagsverdi ikke finnes og ikke ønsker å maskere underliggende problemer med selve VLOOKUP-formelen, f.eks. når funksjonens navn er feilskrevet (#NAME?) eller den fullstendige banen til oppslagsarbeidsboken ikke er spesifisert (#VALUE!).
For mer informasjon, se ISNA-funksjonen i Excel med formeleksempler.
IFNA VLOOKUP
Tilgjengelig i Excel 2013 og høyere
Det er en moderne erstatning av IF ISNA-kombinasjonen som lar deg håndtere #N/A-feil i en enklere måte.
IFNA(VLOOKUP(…), " text_if_error ")Her er en stenografisk ekvivalent av IF ISNA VLOOKUP-formelen vår:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
Når den skal brukes:
Det er en ideell løsning for å fange og håndtere #N/A-feil i moderne versjoner av Excel (2013 - 365).
For fullstendige detaljer, se Excel IFNA-funksjonen.
XLOOKUP
Støttes i Excel 2021 og Excel 365
På grunn av sin innebygde "hvis feil"-funksjonalitet , er XLOOKUP-funksjonen den enkleste måten å slå opp uten #N/A-feil i Excel. Bare skriv inn din brukervennlige tekst i det valgfrie fjerde argumentet kalt hvis_ikke_funnet .
For eksempel:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "No")
Begrensning: Den fanger bare #N/A feil, ignorererandre typer.
For mer informasjon, sjekk XLOOKUP-funksjonen i Excel.
Som du ser, gir Excel ganske mange forskjellige alternativer for å få rigg til VLOOKUP-feil. Forhåpentligvis har denne opplæringen kastet litt lys over hvordan du effektivt kan bruke dem. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!
Tilgjengelige nedlastinger
FEIL med VLOOKUP-eksempler (.xlsx-fil)