VLOOKUP er en Excel-funktion til at få data fra en tabel organiseret lodret. Opslagsværdier skal vises i den første kolonne i tabellen, der sendes til VLOOKUP. VLOOKUP understøtter omtrentlig og nøjagtig matchning og jokertegn (*?) For delvise matches.
Lodrette data | Kolonnetal | Ser kun rigtigt ud | Matchende tilstande | Præcis match | Omtrentlig kamp | Første kamp | Wildcard-kamp | Tovejs opslag | Flere kriterier | # N / A-fejl | Videoer
V er til lodret
Formålet med VLOOKUP er at få oplysninger fra en tabel organiseret som denne:
Ved hjælp af ordrenummeret i kolonne B som en opslagsværdi kan VLOOKUP få kunde-id, beløb, navn og stat for enhver ordre. For eksempel for at få kundenavn til ordre 1004 er formlen:
=VLOOKUP(1004,B5:F9,4,FALSE) // returns "Sue Martin"For vandrette data kan du bruge HLOOKUP, INDEX og MATCH eller XLOOKUP.
VLOOKUP er baseret på kolonnetal
Når du bruger VLOOKUP, forestil dig at hver kolonne i tabellen er nummereret, startende fra venstre. For at få en værdi fra en bestemt kolonne skal du angive det passende nummer som “kolonneindeks”. For eksempel er kolonneindekset for at hente fornavn nedenfor 2:
Efternavnet og e-mailadressen kan hentes med kolonner 3 og 4:
=VLOOKUP(H3,B4:E13,2,FALSE) // first name=VLOOKUP(H3,B4:E13,3,FALSE) // last name=VLOOKUP(H3,B4:E13,4,FALSE) // email addressVLOOKUP ser kun rigtigt ud
VLOOKUP kan kun se til højre. De data, du vil hente (resultatværdier) kan vises i enhver kolonne til højre for opslagsværdierne:
Hvis du er nødt til at slå værdier op til venstre, se INDEX og MATCH eller XLOOKUP.
Præcis og tilnærmelsesvis matchning
VLOOKUP har to tilpasningsmetoder, nøjagtig og tilnærmelsesvis. Navnet på argumentet, der styrer matchning, er “range_lookup”. Dette er et forvirrende navn, fordi det ser ud til at have noget at gøre med celleområder som A1: A10. Faktisk henviser ordet “rækkevidde” i dette tilfælde til “værdiområde” – når interval_opslag er SAND, vil VLOOKUP matche et interval af værdier snarere end en nøjagtig værdi. Et godt eksempel på dette er at bruge VLOOKUP til at beregne karakterer.
Det er vigtigt at forstå, at range_lookup som standard er TRUE, hvilket betyder, at VLOOKUP som standard bruger omtrentlig matching, hvilket kan være farligt. Indstil range_lookup til FALSE for at tvinge nøjagtig matchning:
Bemærk: Du kan også angive nul (0) i stedet for FALSE for en nøjagtig matchning.
Præcis match
I de fleste tilfælde vil du sandsynligvis bruge VLOOKUP i nøjagtig matchningstilstand. Dette giver mening, når du har en unik nøgle til at bruge som en opslagsværdi, f.eks. Filmtitlen i disse data:
Formlen i H6 for at finde År, baseret på et nøjagtigt match af filmtitel, er:
=VLOOKUP(H4,B5:E9,2,FALSE) // FALSE = exact matchOmtrentlig match
I de tilfælde, hvor du vil have det bedste match, ikke nødvendigvis et nøjagtigt match, vil du bruge den omtrentlige tilstand. For eksempel vil vi nedenfor slå op til en kommissionsrente i tabellen G5: H10. Opslagsværdierne kommer fra kolonne C. I dette eksempel er vi nødt til at bruge VLOOKUP i omtrentlig matchtilstand, for i de fleste tilfælde vil der aldrig blive fundet et nøjagtigt match. VLOOKUP-formlen i D5 er konfigureret til at udføre et omtrentligt match ved at indstille det sidste argument til SAND:
=VLOOKUP(C5,$G$5:$H$10,2,TRUE) // TRUE = approximate matchVLOOKUP scanner værdier i kolonne G efter opslagsværdien. Hvis der findes et nøjagtigt match, bruger VLOOKUP det. Hvis ikke, vil VLOOKUP “træde tilbage” og matche den foregående række.
Bemærk: data skal sorteres i stigende rækkefølge efter opslagsværdi, når du bruger en omtrentlig matchtilstand med VLOOKUP.
Første match
I tilfælde af duplikatværdier finder VLOOKUP det første match, når matchningstilstanden er nøjagtig. På skærmen nedenfor er VLOOKUP konfigureret til at finde prisen for farven “Grøn”. Der er tre poster med farven Grøn, og VLOOKUP returnerer prisen for den første post, $ 17. Formlen i celle F5 er:
=VLOOKUP(E5,B5:C11,2,FALSE) // returns 17
Matchning med jokertegn
VLOOKUP-funktionen understøtter jokertegn, hvilket gør det muligt at udføre en delvis matchning på en opslagsværdi. For eksempel kan du bruge VLOOKUP til at hente værdier fra en tabel efter kun at have skrevet en del af en opslagsværdi. For at bruge jokertegn med VLOOKUP skal du angive nøjagtig matchningstilstand ved at angive FALSE eller 0 for det sidste argument, range_lookup. Formlen i H7 henter fornavnet “Michael” efter at have skrevet “Aya” i celle H4:
=VLOOKUP($H$4&"*",$B$5:$E$104,2,FALSE)
Læs en mere detaljeret forklaring her.
Tovejs opslag
Inde i VLOOKUP-funktionen er kolonnen indeksargument er normalt hårdkodet som et statisk tal.Du kan dog også oprette et dynamisk kolonneindeks ved hjælp af MATCH-funktionen til at finde den højre kolonne. Denne teknik giver dig mulighed for at oprette en dynamisk tovejsopslag, der matcher på både rækker og kolonner. På skærmen nedenfor er VLOOKUP konfigureret til at foretage et opslag baseret på navn og måned. Formlen i H6 er:
=VLOOKUP(H4,B5:E13,MATCH(H5,B4:E4,0),0)
Se dette eksempel for flere detaljer.
Bemærk: Generelt er INDEX og MATCH en mere fleksibel måde at udføre tovejsopslag.
Flere kriterier
VLOOKUP-funktionen håndterer ikke flere kriterier indbygget. Du kan dog bruge en hjælpekolonne til at forbinde flere felter sammen og bruge disse felter som flere kriterier i VLOOKUP. I eksemplet nedenfor er kolonne B en hjælpekolonne, der sammenkæder for- og efternavne sammen med denne formel:
=C5&D5 // helper columnVLOOKUP er konfigureret til at gøre det samme for at skabe en opslagsværdi. Formlen i H6 er:
=VLOOKUP(H4&H5,B5:E13,4,0)
For detaljer, se dette eksempel.
Bemærk: INDEX og MATCH og XLOOKUP er mere robuste måder at håndtere opslag baseret på flere kriterier.
VLOOKUP og # N / A-fejl
Hvis du bruger VLOOKUP, vil du uundgåeligt løbe ind i fejlen # N / A. Fejlen # N / A betyder bare “ikke fundet”. For eksempel findes i skærmbilledet nedenfor opslagsværdien “Toy Story 2” ikke i opslagstabellen, og alle tre VLOOKUP-formler returnerer # N / A:
En måde at “fange” NA-fejlen er at bruge IFNA-funktionen som denne:
Formlen i H6 er:
=IFNA(VLOOKUP(H4,B5:E9,2,FALSE),"Not found")Meddelelsen kan tilpasses efter ønske. For at returnere intet (dvs. at vise et tomt resultat), når VLOOKUP returnerer # N / A, kan du bruge en tom streng som denne:
=IFNA(VLOOKUP(H4,B5:E9,2,FALSE),"") // no messageFejlen # N / A er nyttig, fordi den fortæller dig, at der er noget galt. I praksis er der mange grunde til, at du måske ser denne fejl, herunder:
- Opslagsværdien findes ikke i tabellen
- Opslagsværdien er stavet forkert eller indeholder ekstra plads
- Matchningstilstand er nøjagtig, men skal være omtrentlig
- Tabelområdet er ikke indtastet korrekt
- Du kopierer VLOOKUP, og tabelhenvisningen er ikke låst
Læs mere: VLOOKUP uden # N / A-fejl
Mere om VLOOKUP
- Flere VLOOKUP-eksempler
- VLOOKUP-videoer
- 23 tip til brug af VLOOKUP
Andre noter
- Range_lookup styrer, om værdien skal matche nøjagtigt eller ej. Standard er SAND = tillad ikke-eksakt match.
- Indstil rækkevidde til FALSK for at kræve et nøjagtigt match og SAND for at tillade et ikke-nøjagtigt match.
- Hvis rækkevidde er SAND ( standardindstilling), vil et ikke-nøjagtigt match få VLOOKUP-funktionen til at matche den nærmeste værdi i tabellen, der stadig er mindre end værdien.
- Når range_lookup er udeladt, tillader VLOOKUP-funktionen en ikke-nøjagtig match, men det vil bruge et nøjagtigt match, hvis en findes.
- Hvis range_lookup er TRUE (standardindstillingen) skal du sørge for, at opslagsværdier i den første række i tabellen sorteres i stigende rækkefølge. Ellers kan VLOOKUP returnere en forkert eller uventet værdi.
- Hvis range_lookup er FALSE (kræver nøjagtig matchning), behøver værdier i den første kolonne i tabellen ikke at blive sorteret.