Excel VLOOKUP fungerer ikke - fikser #N/A og #VALUE feil

  • Dele Denne
Michael Brown

Innholdsfortegnelse

Teller VLOOKUP feil data, eller får du det ikke til å fungere i det hele tatt? Denne opplæringen viser hvordan du raskt kan fikse vanlige VLOOKUP-feil og overvinne hovedbegrensningene.

I noen tidligere artikler har vi utforsket ulike aspekter av Excel VLOOKUP-funksjonen. Hvis du har fulgt oss tett, bør du nå være ekspert på dette området :)

Det er imidlertid ikke uten grunn at mange Excel-spesialister anser VLOOKUP som en av de mest intrikate Excel-funksjonene. Den har massevis av begrensninger, som er kilden til ulike problemer og feil.

I denne artikkelen finner du enkle forklaringer på hovedårsakene til VLOOKUP-feil som f.eks. #N/A, #NAME og #VALUE, samt deres løsninger og rettelser. Vi starter med de mest åpenbare årsakene til at VLOOKUP ikke fungerer, så det kan være en god idé å sjekke feilsøkingstrinnene nedenfor i rekkefølge.

    Fiksing #N/A-feil i VLOOKUP

    I VLOOKUP-formler vises #N/A-feilmeldingen (som betyr "ikke tilgjengelig") når Excel ikke finner en oppslagsverdi. Det kan være flere grunner til at det kan skje.

    1. Oppslagsverdien er feilstavet

    Det er alltid lurt å sjekke det mest åpenbare først : ) Trykkfeil oppstår ofte når du arbeider med virkelig store datasett som består av tusenvis av rader, eller når en oppslagsverdi skrives inn direkte i formelen.

    2.VLOOKUP kan ikke velge en tabellmatrise i et annet regneark (dvs. når du markerer et område i oppslagsarket, vises ingenting i tabellmatrise -argumentet i formelen eller i den tilsvarende boksen i formelen veiviseren), er sannsynligvis de to arkene åpne i separate forekomster av Excel og kan ikke kommunisere med hverandre. For mer informasjon, se Hvordan finne ut hvilke Excel-filer i hvilken forekomst. For å fikse dette, lukk ganske enkelt alle Excel-vinduer og åpne arkene/arbeidsbøkene på nytt i samme instans (standardoppførselen).

    Hvordan Vlookup uten feil i Excel

    Hvis du ikke ønsker å skremme brukerne dine med standard Excel-feilnotasjoner, du kan vise din egen brukervennlige tekst i stedet eller returnere en tom celle hvis ingenting blir funnet. Dette kan gjøres ved å bruke VLOOKUP med IFERROR- eller IFNA-funksjon.

    Fang opp alle feil

    I Excel 2007 og nyere kan du bruke IFERROR-funksjonen til å sjekke en VLOOKUP-formel for feil og returnere egen tekst (eller en tom streng) hvis enhver feil oppdages.

    For eksempel:

    =IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")

    I Excel 2003 og tidligere kan du bruk IF ISERROR-formelen til samme formål:

    =IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))

    For mer informasjon, se Bruke IFERROR med VLOOKUP i Excel.

    Håndter #N/A-feil

    For å fange bare #N/A-feil som ignorerer alle andre feiltyper, bruk IFNA-funksjonen (i Excel 2013 oghøyere) eller IF ISNA-formel (i alle versjoner).

    For eksempel:

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, no match is found. Please try again!")

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, no match is found. Please try again!", VLOOKUP(E1, A2:B10, 2, FALSE))

    Det var alt for i dag. Forhåpentligvis vil denne opplæringen hjelpe deg med å bli kvitt VLOOKUP-feil og få formlene til å fungere slik du ønsker.

    Hvordan VLOOKUP i Excel - videoopplæring

    #N/A i omtrentlig samsvar VLOOKUP

    Hvis formelen din slår opp det nærmeste samsvaret, ( range_lookup argument satt til TRUE eller utelatt), kan #N/A-feilen vises i to tilfeller :

    • Oppslagsverdien er mindre enn den minste verdien i oppslagsmatrisen.
    • Oppslagskolonnen er ikke sortert i stigende rekkefølge.

    3 . #N/A i eksakt samsvar VLOOKUP

    Hvis du søker etter eksakt samsvar ( range_lookup -argument satt til FALSE), oppstår #N/A-feilen når en verdi som er nøyaktig lik oppslaget verdi er ikke funnet. For mer informasjon, se VLOOKUP eksakt samsvar vs. omtrentlig samsvar.

    4. Oppslagskolonnen er ikke kolonnen lengst til venstre i tabellmatrisen

    En av de viktigste begrensningene ved Excel VLOOKUP er at den ikke kan se til venstre. Følgelig bør en oppslagskolonne alltid være kolonnen lengst til venstre i tabellmatrisen. I praksis glemmer vi ofte dette og ender opp med #N/A feil.

    Løsning : Hvis det ikke er mulig å omstrukturere dataene dine slik at oppslagskolonnen er kolonnen lengst til venstre, kan du bruke INDEX- og MATCH-funksjonene sammen som et alternativ til VLOOKUP. Her er et formeleksempel: INDEX MATCH formel for å slå opp verdier til venstre.

    5. Tall er formatert som tekst

    En annen vanlig kilde #N/A-feil i VLOOKUP-formler er tall formatert som tekst, enten i hoved- eller oppslagstabellen.

    Dette vanligvisoppstår når du importerer data fra en ekstern database eller hvis du har skrevet en apostrof før et tall for å vise innledende nuller.

    Her er de mest åpenbare indikatorene på tall formatert som tekst:

    Løsning: Velg alle de problematiske tallene, klikk på feilikonet og velg Konverter til nummer fra hurtigmenyen. For mer informasjon, se Hvordan konvertere tekst til tall i Excel.

    6. Førende eller etterfølgende mellomrom

    Dette er den minst åpenbare årsaken til VLOOKUP #N/A-feilen fordi et menneskelig øye nesten ikke kan oppdage de ekstra mellomrommene, spesielt når du arbeider med store datasett der de fleste oppføringene er under rulleteksten .

    Løsning 1: Ekstra mellomrom i oppslagsverdien

    For å sikre at VLOOKUP-formelen fungerer riktig, pakk oppslagsverdien inn i TRIM-funksjonen:

    =VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)

    Løsning 2: Ekstra mellomrom i oppslagskolonnen

    Hvis det forekommer ekstra mellomrom i oppslagskolonnen, er det er ingen enkel måte å unngå #N/A feil i VLOOKUP. I stedet kan du bruke en kombinasjon av INDEX-, MATCH- og TRIM-funksjoner som en matriseformel:

    =INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))

    Siden dette er en matriseformel, ikke glem å trykke Ctrl + Shift + Enter for å fullføre den ordentlig (i Excel 365 og Excel 2021 der matriser er native, fungerer dette også som en vanlig formel).

    Tips. Et raskt alternativ er å kjøre Trim Spaces-verktøyet som vil eliminereoverflødig mellomrom både i oppslags- og hovedtabellen på sekunder, noe som gjør VLOOKUP-formlene feilfrie.

    #VERDI! feil i VLOOKUP-formler

    Generelt viser Microsoft Excel #VERDI! feil hvis en verdi brukt i formelen er av feil datatype. Når det gjelder VLOOKUP, er det to vanlige kilder til VERDI! feil.

    1. Oppslagsverdien overskrider 255 tegn

    Vær oppmerksom på at VLOOKUP ikke kan slå opp verdier som inneholder mer enn 255 tegn. Hvis oppslagsverdiene dine overskrider denne grensen, vil en #VALUE! feil vil vises:

    Løsning : Bruk en INDEX MATCH-formel i stedet. I vårt tilfelle fungerer denne formelen perfekt:

    =INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))

    2. Full bane til oppslagsarbeidsboken er ikke oppgitt

    Hvis du henter data fra en annen arbeidsbok, må du inkludere hele banen til den. Mer presist må du legge ved arbeidsbokens navn inkludert utvidelsen i [firkantede parenteser] og spesifisere arkets navn etterfulgt av utropstegnet. Hvis arbeidsboknavnet eller arknavnet, eller begge, inneholder mellomrom eller ikke-alfabetiske tegn, må banen omsluttes av enkle anførselstegn.

    Her er strukturen til tabellmatrise -argumentet til Vlookup fra en annen arbeidsbok:

    '[workbook name]sheet name'!range

    En ekte formel kan se ut som denne:

    =VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)

    Formelen ovenfor vil søke etter verdien av A2 i kolonne B i Ark1 i NyPriser -arbeidsboken, og returner en samsvarende verdi fra kolonne D.

    Hvis noe element i banen mangler, vil ikke VLOOKUP-formelen din fungere og returnere #VALUE-feilen (med mindre oppslagsarbeidsboken er for øyeblikket åpen).

    For mer informasjon, vennligst se:

    • Hvordan henvise til et annet ark eller arbeidsbok i Excel
    • Hvordan gjøre Vlookup fra en annen arbeidsbok

    3. Argumentet col_index_num er mindre enn 1

    Det er vanskelig å forestille seg en situasjon når noen med vilje skriver inn et tall mindre enn 1 for å spesifisere kolonnen som skal returneres verdier fra. Men det kan skje hvis dette argumentet returneres av en annen funksjon nestet i VLOOKUP-formelen.

    Så, hvis col_index_num -argumentet er enn 1, vil formelen returnere #VALUE! feil også.

    Hvis col_index_num er større enn antall kolonner i tabellmatrisen, produserer VLOOKUP #REF! feil.

    Løser VLOOKUP #NAME-feil

    Dette er det enkleste tilfellet - #NAME? feil vises hvis du ved et uhell har stavet funksjonens navn feil.

    Løsningen er åpenbar - sjekk stavemåten :)

    Hovedårsakene til feil i Excel VLOOKUP

    Bortsett fra har en ganske komplisert syntaks, VLOOKUP har uten tvil flere begrensninger enn noen annen Excel-funksjon. På grunn av disse begrensningene kan en tilsynelatende korrekt formel ofte gi resultater som er annerledes enn du forventet. Nedenfor finner duløsninger for noen få typiske scenarier når VLOOKUP mislykkes.

    VLOOKUP skiller ikke mellom store og små bokstaver

    VLOOKUP-funksjonen skiller ikke mellom store og små bokstaver og spener små og store bokstaver som identiske.

    Løsning : Bruk VLOOKUP, XLOOKUP eller INDEX MATCH i kombinasjon med EXACT-funksjonen som kan matche store og små bokstaver. Du kan finne de detaljerte forklaringene og formeleksemplene i denne opplæringen: 5 måter å gjøre en versalsensitiv Vlookup i Excel.

    En ny kolonne ble satt inn eller fjernet fra tabellen

    Dessverre, VLOOKUP formler slutter å virke hver gang en ny kolonne slettes fra eller legges til i oppslagstabellen. Dette skjer fordi syntaksen til VLOOKUP-funksjonen krever definering av indeksnummeret til returkolonnen. Når en ny kolonne legges til/fjernes fra tabellmatrisen, endres tydeligvis det indeksnummeret.

    Løsning : INDEX MATCH-formelen kommer til unnsetning igjen : ) Med INDEX MATCH kan du spesifiser oppslags- og returområdene separat, slik at du står fritt til å slette eller sette inn så mange kolonner du vil uten å bekymre deg for å oppdatere alle tilknyttede formler.

    Cellereferanser endres når du kopierer formelen til andre celler

    Overskriften gir en uttømmende forklaring av problemet, ikke sant?

    Løsning : Bruk alltid absolutte referanser (med $-tegnet) for tabellmatrise -argumentet, f.eks. $A$2:$C$100 eller$A:$C. Du kan raskt bytte mellom ulike referansetyper ved å trykke på F4-tasten.

    VLOOKUP returnerer den første funnet verdien

    Som du allerede vet, returnerer Excel VLOOKUP den første verdien den finner. Du kan imidlertid tvinge den til å ta med 2., 3., 4. eller hvilken som helst annen forekomst du ønsker. Det er også en måte å få siste treff eller alle funnet treff.

    Løsninger : Formeleksempler er tilgjengelige her:

    • SØK OPP og returner Nth forekomst
    • VLOOKUP flere verdier
    • XLOOKUP-formel for å få siste treff

    Hvorfor fungerer VLOOKUP for noen celler, men ikke andre?

    Når VLOOKUP-formel returnerer de riktige dataene i noen celler og #N/A-feil i andre, det kan være noen mulige årsaker til at det skjer.

    1. Tabellmatrisen er ikke låst

    Anta at du har denne formelen i rad 2 (for eksempel i E2), som fungerer bra:

    =VLOOKUP(D2, A2:B10, 2, FALSE)

    Når kopiert til rad 3, endres formelen til:

    =VLOOKUP(D3, A3:B11, 2, FALSE)

    Fordi en relativ referanse brukes for tabellmatrise , endres den basert på den relative plasseringen av raden der formelen er kopiert , i vårt tilfelle fra A2:B10 til A3:B11. Så hvis samsvaret er i rad 2, vil det ikke bli funnet!

    Løsning : Når du bruker en VLOOKUP-formel for mer enn én celle, lås alltid tabellmatrisen -referanse med $-tegnet som $A$2:$B$10.

    2. Tekstverdier eller datatyper samsvarer ikke

    En annenvanlig årsak til VLOOKUP-feil er forskjellen mellom oppslagsverdien og en lignende verdi i oppslagskolonnen. I noen tilfeller er forskjellen så subtil at det er vanskelig å se visuelt.

    Løsning : Når VLOOKUP returnerer en #N/A-feil mens du tydelig kan se oppslagsverdien i oppslagskolonnen, og tilsynelatende begge er stavet nøyaktig likt, er det første du må gjøre å finne årsaken til problemet - formelen eller kildedataene.

    For å se om de to verdiene er samme eller forskjellig, gjør en direkte sammenligning på denne måten:

    =E1=A4

    Hvor E1 er oppslagsverdien din og A4 er en identisk verdi i oppslagskolonnen.

    Hvis formel returnerer FALSE, det betyr at verdiene er forskjellige på en eller annen måte, selv om de ser helt like ut.

    I tilfelle numeriske verdier er den mest mulige årsaken tall formatert som tekst.

    I tilfelle tekstverdier , er problemet mest sannsynlig i overskytende mellomrom. For å bekrefte dette, finn ut den totale lengden på de to strengene ved å bruke LEN-funksjonen:

    =LEN(E1)

    =LEN(A4)

    Hvis de resulterende tallene er forskjellige (som i skjermbildet nedenfor ), så har du funnet den skyldige - ekstra mellomrom:

    For å løse problemet, fjern enten ekstra mellomrom eller bruk denne INDEX MATCH TRIM-formelen som en løsning.

    Hvorfor henter VLOOKUP feil data?

    Det kan være enda flere grunner til atVLOOKUP returnerer en feil verdi:

    1. Feil søkemodus . Hvis du vil ha et eksakt samsvar, sørg for å sette range_lookup -argumentet til FALSE. Standarden er TRUE, så hvis du utelater dette argumentet, vil VLOOKUP anta at du leter etter et omtrentlig samsvar og søker etter den nærmeste verdien som er mindre enn oppslagsverdien.
    2. Oppslagskolonnen er ikke sortert . For at omtrentlig samsvar VLOOKUP ( range_lookup satt til TRUE) skal fungere riktig, må den første kolonnen i tabellmatrisen sorteres i stigende rekkefølge, fra minste til største.
    3. Duplikater i oppslagskolonnen . Hvis oppslagskolonnen inneholder to eller flere dupliserte verdier, vil VLOOKUP returnere det første funnet samsvaret, som kanskje ikke er det du forventer.
    4. Feil returkolonne . Dobbeltsjekk indeksnummeret i det 3. argumentet :)

    VLOOKUP fungerer ikke mellom to ark

    For det første bør det bemerkes at de vanlige årsakene til #N/A, #VALUE og #REF-feil diskutert ovenfor kan forårsake de samme problemene når du slår opp fra et annet ark. Hvis det ikke er tilfelle, sjekk ut følgende punkter:

    1. Forsikre deg om at den eksterne referansen til et annet ark eller en annen arbeidsbok er riktig.
    2. Når du gjør en Vlookup fra en annen arbeidsbok som er stengt for øyeblikket, kontroller at formelen inneholder hele banen til den lukkede arbeidsboken.
    3. Hvis

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.