Excel VLOOKUP-funksjon

VLOOKUP er en Excel-funksjon for å få data fra en tabell organisert vertikalt. Oppslagsverdier må vises i den første kolonnen i tabellen som sendes til VLOOKUP. VLOOKUP støtter omtrentlig og eksakt samsvar, og jokertegn (*?) For delvis samsvar.

Vertikale data | Kolonnetall | Ser bare riktig ut | Matchende moduser | Nøyaktig samsvar | Omtrentlig kamp | Første kamp | Jokertegnkamp | Toveis oppslag | Flere kriterier | # N / A Feil | Videoer

V er for vertikale

Formålet med VLOOKUP er å få informasjon fra en tabell som er organisert slik:

Ved å bruke bestillingsnummeret i kolonne B som oppslagsverdi, kan VLOOKUP få kunde-ID, beløp, navn og stat for enhver bestilling. For å få kundenavn for ordre 1004, er formelen for eksempel:

=VLOOKUP(1004,B5:F9,4,FALSE) // returns "Sue Martin"

For horisontale data kan du bruke HLOOKUP, INDEX og MATCH eller XLOOKUP.

VLOOKUP er basert på kolonnetall

Når du bruker VLOOKUP, kan du forestille deg at hver kolonne i tabellen er nummerert, fra venstre. For å få en verdi fra en bestemt kolonne, oppgi riktig nummer som «kolonneindeks». For eksempel er kolonneindeksen for å hente fornavnet nedenfor 2:

Etternavnet og e-postadressen 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 address

VLOOKUP ser bare riktig ut

VLOOKUP kan bare se til høyre. Dataene du vil hente (resultatverdier) kan vises i hvilken som helst kolonne til høyre for oppslagsverdiene:

Hvis du må slå opp verdiene til venstre, se INDEKS og MATCH, eller XLOOKUP.

Nøyaktig og tilnærmet samsvar

VLOOKUP har to modus for samsvar, nøyaktig og omtrentlig. Navnet på argumentet som styrer samsvar er «range_lookup». Dette er et forvirrende navn, fordi det ser ut til å ha noe å gjøre med celleområder som A1: A10. Egentlig refererer ordet «område» i dette tilfellet til «verdiområde» – når range_lookup er SANT, vil VLOOKUP matche et verdiområde i stedet for en eksakt verdi. Et godt eksempel på dette er å bruke VLOOKUP for å beregne karakterer.

Det er viktig å forstå at range_lookup som standard er SANT, noe som betyr at VLOOKUP vil bruke omtrentlig matching som standard, noe som kan være farlig. Sett range_lookup til FALSE for å tvinge nøyaktig samsvar:

Merk: Du kan også oppgi null (0) i stedet for FALSE for en nøyaktig samsvar.

Nøyaktig samsvar

I de fleste tilfeller vil du sannsynligvis bruke VLOOKUP i nøyaktig samsvar-modus. Dette er fornuftig når du har en unik nøkkel å bruke som oppslagsverdi, for eksempel filmtittelen i disse dataene:

Formelen i H6 for å finne Year, basert på en nøyaktig samsvar med filmtittelen, er:

=VLOOKUP(H4,B5:E9,2,FALSE) // FALSE = exact match

Omtrentlig samsvar

I tilfeller der du ønsker best samsvar, ikke nødvendigvis eksakt samsvar, vil du bruke omtrentlig modus. For eksempel vil vi nedenfor slå opp en provisjonsrente i tabellen G5: H10. Oppslagsverdiene kommer fra kolonne C. I dette eksemplet må vi bruke VLOOKUP i omtrentlig kampmodus, for i de fleste tilfeller vil en nøyaktig samsvar aldri bli funnet. VLOOKUP-formelen i D5 er konfigurert til å utføre en omtrentlig samsvar ved å sette det siste argumentet til SANT:

=VLOOKUP(C5,$G$5:$H$10,2,TRUE) // TRUE = approximate match

VLOOKUP skanner verdier i kolonne G for oppslagsverdien. Hvis en nøyaktig samsvar blir funnet, vil VLOOKUP bruke den. Hvis ikke, vil VLOOKUP «gå tilbake» og matche den forrige raden.

Merk: data må sorteres i stigende rekkefølge etter oppslagsverdi når du bruker omtrentlig kampmodus med VLOOKUP.

Første match

I tilfelle dupliserte verdier, vil VLOOKUP finne den første matchen når samsvarsmodusen er nøyaktig. I skjermbildet nedenfor er VLOOKUP konfigurert til å finne prisen for fargen «Green». Det er tre oppføringer med fargen Grønn, og VLOOKUP returnerer prisen for den første oppføringen, $ 17. Formelen i celle F5 er:

=VLOOKUP(E5,B5:C11,2,FALSE) // returns 17

Matching med jokertegn

VLOOKUP-funksjonen støtter jokertegn, som gjør det mulig å utføre en delvis matchning på en oppslagsverdi. For eksempel kan du bruke VLOOKUP for å hente verdier fra en tabell etter at du bare har skrevet inn en del av en oppslagsverdi. For å bruke jokertegn med VLOOKUP, må du spesifisere nøyaktig samsvarsmodus ved å oppgi FALSE eller 0 for det siste argumentet, range_lookup. Formelen i H7 henter fornavnet «Michael» etter å ha skrevet «Aya» i celle H4:

=VLOOKUP($H$4&"*",$B$5:$E$104,2,FALSE)

Les en mer detaljert forklaring her.

Toveisoppslag

Inne i VLOOKUP-funksjonen, kolonnen indeksargument er vanligvis hardkodet som et statisk tall.Du kan imidlertid også opprette en dynamisk kolonneindeks ved å bruke MATCH-funksjonen til å finne høyre kolonne. Denne teknikken lar deg lage en dynamisk toveisoppslag, som passer på både rader og kolonner. I skjermbildet nedenfor er VLOOKUP konfigurert til å utføre en oppslag basert på navn og måned. Formelen i H6 er:

=VLOOKUP(H4,B5:E13,MATCH(H5,B4:E4,0),0)

For mer informasjon, se dette eksemplet.

Merk: Generelt er INDEX og MATCH en mer fleksibel måte å utføre toveisoppslag.

Flere kriterier

VLOOKUP-funksjonen håndterer ikke flere kriterier naturlig. Du kan imidlertid bruke en hjelpekolonne for å koble flere felt sammen, og bruke disse feltene som flere kriterier i VLOOKUP. I eksemplet nedenfor er kolonne B en hjelpekolonne som sammenkjører for- og etternavn sammen med denne formelen:

=C5&D5 // helper column

VLOOKUP er konfigurert til å gjøre det samme for å skape en oppslagsverdi. Formelen i H6 er:

=VLOOKUP(H4&H5,B5:E13,4,0)

For detaljer, se dette eksemplet.

Merk: INDEKS og MATCH og XLOOKUP er mer robuste måter å håndtere oppslag basert på flere kriterier.

VLOOKUP og # N / A feil

Hvis du bruker VLOOKUP, vil du uunngåelig støte på # N / A-feilen. # N / A-feilen betyr bare «ikke funnet». For eksempel, i skjermbildet nedenfor, finnes ikke oppslagsverdien «Toy Story 2» i oppslagstabellen, og alle tre VLOOKUP-formlene returnerer # N / A:

En måte å «fange» NA-feilen er å bruke IFNA-funksjonen slik:

Formelen i H6 er:

=IFNA(VLOOKUP(H4,B5:E9,2,FALSE),"Not found")

Meldingen kan tilpasses etter ønske. For å returnere ingenting (dvs. for å vise et tomt resultat) når VLOOKUP returnerer # N / A, kan du bruke en tom streng som denne:

=IFNA(VLOOKUP(H4,B5:E9,2,FALSE),"") // no message

# N / A-feilen er nyttig fordi den forteller deg at noe er galt. I praksis er det mange grunner til at du kan se denne feilen, inkludert:

  • Oppslagsverdien finnes ikke i tabellen
  • Oppslagsverdien er feilstavet, eller inneholder ekstra mellomrom
  • Kampmodus er nøyaktig, men skal være omtrentlig
  • Tabellområdet er ikke angitt riktig
  • Du kopierer VLOOKUP, og tabellreferansen er ikke låst

Les mer: VLOOKUP uten # N / A-feil

Mer om VLOOKUP

  • Flere VLOOKUP-eksempler
  • VLOOKUP-videoer
  • 23 tips for bruk av VLOOKUP

Andre notater

  • Range_lookup styrer om verdien må matche nøyaktig eller ikke. Standard er SANT = tillat ikke-eksakt samsvar.
  • Sett range_lookup til FALSE for å kreve eksakt samsvar og TRUE for å tillate en ikke-nøyaktig samsvar.
  • Hvis range_lookup er TRUE ( standardinnstilling), vil en ikke-nøyaktig samsvar føre til at VLOOKUP-funksjonen samsvarer med den nærmeste verdien i tabellen som fremdeles er mindre enn verdien.
  • Når range_lookup er utelatt, vil VLOOKUP-funksjonen tillate en ikke-eksakt samsvar, men den vil bruke en nøyaktig samsvar hvis en eksisterer.
  • Hvis range_lookup er TRUE (standardinnstillingen), må du sørge for at oppslagsverdiene i første rad i tabellen er sortert i stigende rekkefølge. Ellers kan VLOOKUP returnere en feil eller uventet verdi.
  • Hvis range_lookup er FALSE (krever nøyaktig samsvar), trenger ikke verdiene i den første kolonnen i tabellen sorteres.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *