Indholdsfortegnelse
VLOOKUP er en af de mest almindelige og nyttige funktioner. Da den er meget udbredt, er der mange, der klager over, at den ikke fungerer VLOOKUP korrekt eller viser forkerte resultater. VLOOKUP har nogle begrænsninger, men de fleste af de fejl, vi får, skyldes, at vi ikke forstår syntaksen korrekt eller ikke bruger den omhyggeligt. I denne artikel vil jeg forklare, hvorfor VLOOKUP ikke fungerer.
For at gøre forklaringen forståelig vil jeg bruge et datasæt, der repræsenterer produktinformationer om en bestemt frugtbutik. Der er 5 kolonner i datasættet; disse kolonner er Frugt , Ordre-ID, mængde (kg), pris, og Dato for bestilling .
Download til praksis
Du er velkommen til at downloade arbejdsbogen fra nedenstående link.
VLOOKUP virker ikke i Excel.xlsx8 årsager til, at VLOOKUP ikke virker
1. VLOOKUP virker ikke og viser N/A-fejl
I dette afsnit vil jeg vise dig, hvorfor den #N/A fejl opstår under arbejdet med VLOOKUP-funktionen . samt jeg vil foreslå dig den bedste løsning til at undgå #N/A fejl.
1.1. Foran og bagud stående mellemrum
I et stort datablad er det almindeligt, at der kan være ekstra mellemrum. Det er også svært at identificere fejlen, da du ikke får fejlen, medmindre du gennemgår datasættet omhyggeligt.
Her har jeg anvendt VLOOKUP formel korrekt.
Først skal du vælge en celle, hvor du vil placere din resultantværdi.
➤ Jeg valgte celle I4
Indtast derefter følgende formel i feltet Formel Bar .
=VLOOKUP(H4,B4:F12,2)
Her, i den VLOOKUP funktion, valgte jeg cellen H4 som opslagsværdi , og valgt området B4:F12 som table_array . da jeg gerne vil kende den Ordre-ID så givet 2 som col_index_num .
Tryk på INDTAST nøgle. Det var meningen, at du skulle få den Ordre-ID af den look_up værdi, men den vil vise #N/A .
Når du har set på datasættet, vil du opdage, at den opslagsværdi Apple har nogle ledende pladser, og det er derfor VLOOKUP fungerer ikke.
Løsning :
Hvis du vil fjerne ekstra ledende eller afsluttende mellemrum, skal du bruge opslagsværdi argument med TRIM-funktionen inden for den VLOOKUP funktion.
Lad mig vise dig, hvordan du kan bruge TRIM funktion i den VLOOKUP funktion.
For at undgå VLOOKUP fejl skrive følgende formel i den valgte celle.
=VLOOKUP(TRIM(H4),B4:F12,2)
Her er det TRIM funktionen vil fjerne alle eksisterende ledende og afsluttende mellemrum i den valgte celle H4 .
1.2. For fejlskriftsfejl VLOOKUP virker ikke
Indtastningsfejl af opslagsværdi er en anden grund til, at det ikke virker VLOOKUP .
Her kan du se, at jeg har indsat formlen korrekt i den valgte celle.
=VLOOKUP(H4,B4:F12,2)
Tryk på INDTAST tasten, men i stedet for at vise Ordre-ID , vil den vise dig en #N/A fejl.
Se nu på den opslagsværdi vil du se, at stavemåden for Apple er forkert, det er grunden til, at VLOOKUP fungerer ikke.
Løsning :
Skriv altid omhyggeligt den opslagsværdi Du skal bevare den nøjagtige stavemåde for værdien fra datatabellen.
Mens jeg skrev den opslagsværdi som det er i tabellen, så VLOOKUP fungerer.
1.3. Numerisk værdi formateret som tekst
Hvis de numeriske værdier er formateret som tekst i en table_array så vil den vise dig en #N/A fejl ved brug af VLOOKUP funktion.
Jeg vil forsøge at få den Pris ved at bruge Ordre-ID som opslagsværdi .
Først skal du vælge en celle, hvor du vil placere din resultantværdi.
➤ Jeg valgte celle I4
Indtast derefter følgende formel i feltet Formel Bar .
=VLOOKUP(H4,C4:F12,3)
Tryk på INDTAST nøgle. Du får således den #N/A fejl i stedet for Pris .
Hvis man nu gennemgår de Ordre-ID kolonnen, så vil du se antallet 1001 er formateret som tekst. Det er grunden til, at det ikke virker VLOOKUP .
Løsning :
For at undgå sådanne typer fejl skal du altid kontrollere formatet af de numeriske værdier. Her har jeg korrigeret det numeriske format som tal, så den VLOOKUP fungerer.
Læs mere: VLOOKUP Delvis tekst fra en enkelt celle i Excel
1.4. Opslagsværdi er ikke den venstre kolonne
VLOOKUP funktionen opretholder en sekvens, som er den opslagsværdi skal være den kolonne længst til venstre , hvis ikke, vil det ikke fungere.
Jeg vil forsøge at få den Pris ved at bruge Ordre-ID som opslagsværdi .
Jeg har derfor brugt følgende formel.
=VLOOKUP(H4,B4:F12,3)
Men her er det Ordre-ID kolonnen ikke er den kolonne længst til venstre i table_array B4:F12 det er derfor, den vises #N/A fejl.
Løsning :
Her kan du undgå fejlen på 2 måder.
⏩ Den ene er, at du kan ændre den table_array hvor den opslagsværdi vil være kolonnen længst til venstre.
⏩ For det andet kan du placere den opslagsværdi kolonnen længst til venstre i tabellen over datasæt.
Læs mere: VLOOKUP med to opslagsværdier i Excel (2 fremgangsmåder)
1.5. Overdimensioneret tabel eller indsættelse af ny række & kolonne med værdi
Nogle gange indsætter vi nye data i vores datasæt, men glemmer at ændre table_array så er den VLOOKUP kan ikke fungere korrekt.
Jeg vil forsøge at få den Ordre-ID ved at bruge Frugt som opslagsværdi .
Jeg har derfor brugt følgende formel.
=VLOOKUP(H4,B4:F12,2,FALSE)
Her har jeg brugt den nøjagtig match type for at undgå misvisende oplysninger og også indsat oplysninger til Lichi men fik alligevel en fejl, fordi jeg ikke havde opdateret table_array .
Løsning :
Husk, at hver gang du indsætter nye data i dit datasæt, skal du opdatere tabel-array også.
⏩ Her har jeg opdateret den table_array i formlen.
=VLOOKUP(H4,B4:F14,2,FALSE)
⏩ En anden måde er at konvertere dit datasæt til en tabel.
Først skal du vælge celleområdet.
Derefter skal du åbne Indsæt >> vælg Tabel
A dialogboks vil dukke op.
Klik derefter på OK .
Da dit datasæt nu er omdannet til en tabel, kan du blot bruge tabellens navn.
Læs mere: Hvorfor VLOOKUP returnerer #N/A, når der findes en match? (5 årsager & løsninger)
2. VLOOKUP virker ikke og viser VALUE-fejl
I dette afsnit vil du få at vide, hvorfor den #VALUE fejl opstår under arbejdet med den VLOOKUP Jeg vil også foreslå dig en løsning, der kan undgå alle mulige løsninger for at undgå #VALUE fejl.
2.1. For kolonneindeksnummer mindre end 1
Hvis du ved en fejltagelse bruger col_index_num mindre end 1 , så får du #VALUE fejl.
Hvis du får dette #VALUE bedes du kontrollere din col_index_num argument.
Læs mere: VLOOKUP med tal i Excel (4 eksempler)
2.2. Brug af mere end 255 tegn
Antag, at du har en lang tekst som en værdi, der er mere end 255 tegn, så vil du have #VALUE fejl.
Her, i den A7 celle, indsatte jeg en værdi, der overstiger 255 tegn.
Derefter blev følgende formel anvendt
=VLOOKUP(G4,A4:E12,2)
Nu kan du se, at resultatet viser den #VALUE fejl.
Løsning :
For at undgå denne fejl kan du enten reducere tegnet, eller du kan bruge INDEX og MATCH-funktionerne i stedet for VLOOKUP .
Her har jeg brugt den MATCH og INDEX funktion.
=INDEX($B$4:$B$12,MATCH(TRUE,INDEX($A$4:$A$12=G4,0),0)))
Her, i den INDEX funktionen valgte den absolutte reference til celleområdet $B$4:$B$12 hvorfra jeg ønsker at returnere værdien.
I den MATCH funktion, givet TRUE som opslagsværdi og brugte en anden INDEX($A$4:$A$12=G4,0) fungere som opslagsbatteri derefter brugt taget 0 som match_type til brug Præcis match .
Tryk på INDTAST og du vil få resultatet for den opslagsværdi på mere end 255 tegn.
Læs mere: INDEX MATCH vs. VLOOKUP-funktion (9 eksempler)
Lignende læsninger
- Excel LOOKUP vs VLOOKUP: Med 3 eksempler
- Hvordan man laver VLOOKUP Case Sensitive i Excel (4 metoder)
- Excel VLOOKUP til at finde den sidste værdi i kolonnen (med alternativer)
- Sådan udføres VLOOKUP med jokertegn i Excel (2 metoder)
- Excel VLOOKUP til at returnere flere værdier lodret
3. VLOOKUP virker ikke og viser REF-fejl
Her vil du vide, hvorfor den #REF fejl opstår under arbejdet med den VLOOKUP funktion, og du får også en løsning til at undgå #REF fejl.
3.1. Brug af kolonneindeksnummer større end tabel
Hvis du bruger col_index_num større end det antal kolonner, du har i table_array så får du #REF fejl.
Her har jeg brugt 6 som col_index_number men den table_array har 5 kolonner i alt, hvilket er grunden til, at den VLOOKUP funktionen fungerer ikke og viser #REF fejl.
Løsning :
For at undgå #REF fejl kontrollerer den col_index_num og bruge det nummer, der står i table_array .
Læs mere: VLOOKUP til at returnere flere kolonner i Excel (4 eksempler)
4. VLOOKUP NAME Fejl
Lad mig vise dig, hvorfor den #NAME fejl opstår, og hvordan du kan fjerne den.
4.1. For fejlskrivning af funktionsnavn VLOOKUP fungerer ikke
#NAME fejlen kommer på grund af stavefejl i navnet på en funktion.
Løsning :
For at undgå #NAME fejl altid bruge det relevante funktionsnavn fra den indbyggede Excel-funktion.
5. Brug af tilnærmelsesvis match
Hvis du bruger tilnærmelsesvis overensstemmelse (TRUE) så er der mulighed for, at der enten #N/A fejl eller forkert resultat.
Jeg vil forsøge at få den Ordre-ID ved at bruge Frugt som opslagsværdi .
Jeg har derfor brugt følgende formel.
=VLOOKUP(H4,B4:F12,2,TRUE)
Men her gav jeg Lichi som opslagsværdi og brugt TRUE som range_lookup . VLOOKUP viser 1007 som Ordre-ID hvilket er forkert, fordi 1007 er den Ordre-ID på Kirsebær .
Da jeg brugte tilnærmelsesvis match, viser den forkerte oplysninger i stedet for at vise fejl
Løsning :
Brug den opslagsværdi omhyggeligt. I stedet for at bruge omtrentlig overensstemmelse type kan du bruge nøjagtig match Jeg synes, at det er bedre at få en fejl end at få vildledende oplysninger.
Du kan afslutte formlen med IFERROR-funktionen til at vise en fejlmeddelelse, når den ikke kan finde en værdi inden for området.
6. Tabelreference er relativ
Hvis din tabelmatrix refereres relativt, kan du få en fejlmeddelelse eller en fejl under kopiering af formlen til opslag andre værdier.
Løsning :
For at undgå denne fejl skal du bruge absolut reference.
Tryk på F4 tasten, mens du vælger referencen, så vil den konvertere den relativ reference til absolut reference .
Her har jeg brugt følgende formel
=VLOOKUP(I4,C4:$F$12,2)
7. VLOOKUP virker ikke Til indsættelse af ny kolonne
Hvis du indsætter en ny kolonne i dit eksisterende datasæt, vil den VLOOKUP funktionen virker ikke. col_index-num bruges til at returnere oplysninger om en post i VLOOKUP funktion. col_index-num er ikke holdbar, så hvis du indsætter en ny, vil den VLOOKUP vil ikke fungere.
Her kan du se den VLOOKUP funktionen fungerer korrekt.
Men her har jeg indsat en ny kolonne, og det er derfor, at den vises 0 i stedet for at vise det forventede resultat.
Løsning :
⏩ For at undgå sådanne typer problemer kan du enten beskytte regnearket, så ingen kan indsætte nye kolonner, men det er ikke venligt nok.
⏩ En anden løsning er, at du kan bruge MATCH funktion i den VLOOKUP funktion.
Indtast følgende formel.
=VLOOKUP(I4,B4:G12,MATCH(J3,B3:G3,0),FALSE)
Her, i VLOOKUP-funktionen , jeg valgte cellen I4 som opslagsværdi derefter valgt området B4:G12 som table_array og som den col_index_num brugte den MATCH funktion, der også anvendes FALSK som range_lookup for at få Præcis match .
I den MATCH funktion, brugte jeg kolonnenavnet J3 som opslagsværdi , derefter valgt kolonnens navnerække B3:G3 som opslagsbatteri derefter taget 0 som match_type til brug Præcis match .
Tryk på INDTAST Du får således det forventede resultat, som du ønsker.
8. Opslagsværdi har duplikerede værdier
Hvis din opslagsværdi indeholder dobbeltværdier, så VLOOKUP vil ikke fungere for alle de tilgængelige værdier.
VLOOKUP returnerer kun den første værdi, der svarer til den værdi, du søgte efter.
Løsning :
For at undgå sådanne problemer kan du enten fjerne dubletterne, eller du kan bruge pivottabel .
⏩ Du kan fjerne dubletterne ved hjælp af Fjern dubletter fra derefter Ribbon.
⏩ Du kan også bruge Pivottabel .
Sådan bruger du det,
Først skal du vælge celleområdet
Derefter skal du åbne den Indsæt faneblad>> vælg Pivottabel
A dialogboks vises, vælg stedet og klik derefter på OK .
Nu kan du vælge den Frugt og Ordre-ID på Rækker så vil den vise den eksisterende Ordre-ID af din valgte Frugt .
Læs mere: Sådan Find duplikerede værdier i Excel ved hjælp af VLOOKUP
Øvelsesafsnit
I arbejdsbogen er der et øvelsesark, hvor du kan øve dig i disse forklarede måder.
Konklusion
I denne artikel har jeg forsøgt at dække alle typer af scenarier for VLOOKUP ikke fungerer sammen med løsningen for at undgå fejl. Disse forskellige måder vil hjælpe dig med at arbejde med den VLOOKUP Sidst men ikke mindst, hvis du har nogen form for forslag, idéer eller feedback, er du velkommen til at kommentere nedenfor.