
Generisk formel
=VLOOKUP(A1,CHOOSE((1,2),range2,range1),2,0)
Resumé
For at bruge VLOOKUP til at foretage et opslag til venstre kan du bruge funktionen VÆLG til at omarrangere opslagstabellen. I det viste eksempel er formlen i F5:
=VLOOKUP(E5,CHOOSE((1,2),score,rating),2,0)
hvor score (C5: C9) og rating (B5: B9) er navngivet områder.
Forklaring
En af VLOOKUP-funktionens nøglebegrænsninger er, at den kun kan slå værdier op til højre. Med andre ord skal kolonnen, der indeholder opslagsværdier, sidde til venstre for de værdier, du vil hente med VLOOKUP. Der er ingen måde at tilsidesætte denne adfærd, da den er fast forbundet til funktionen. Som et resultat, med normal konfiguration, er det ingen måde at bruge VLOOKUP til at slå en vurdering op i kolonne B baseret på en score i kolonne C.
Én løsning er at omstrukturere selve opslagstabellen og flytte opslagskolonnen til venstre for opslagsværdi (r). Det er den tilgang, der tages i dette eksempel, som bruger VÆLG-funktionen omvendt vurdering og scorer som denne:
CHOOSE((1,2),score,rating)
Normalt bruges VÆLG med et enkelt indeksnummer som det første argument, og de resterende argumenter er de værdier, du kan vælge imellem. Her vælger vi dog en matrixkonstant for indeksnummer, der indeholder to tal: (1,2). I det væsentlige beder vi om at vælge både den første og den anden værdi.
Værdierne er angivet som de to navngivne områder i eksemplet: score og vurdering. Bemærk dog, at vi leverer disse intervaller i omvendt rækkefølge. VÆLG-funktionen vælger begge områder i den angivne rækkefølge og returnerer resultatet som et enkelt array som dette:
(5,"Excellent";4,"Good";3,"Average";2,"Poor";1,"Terrible")
VÆLG returnerer denne matrix direkte til VLOOKUP som tabelarrayargumentet. Med andre ord leverer CHOOSE en opslagstabel som denne til VLOOKUP:
Ved hjælp af opslagsværdien i E5 finder VLOOKUP et match inden i den nyoprettede tabel og returnerer et resultat fra den anden kolonne.
Omarrangering med arraykonstanten
I det viste eksempel omorganiserer vi opslagstabellen ved at vende "rating" og "score" inde i den valgte funktion. Vi kunne dog i stedet bruge arraykonstanten til at omarrangere sådan:
CHOOSE((2,1),rating,score)
Resultatet er nøjagtigt det samme.
Med INDEX og MATCH
Mens ovenstående eksempel fungerer fint, er det ikke ideelt. For det første forstår de fleste gennemsnitlige brugere ikke, hvordan formlen fungerer. En mere naturlig løsning er INDEX og MATCH. Her er den tilsvarende formel:
=INDEX(rating,MATCH(E5,score,0))
Faktisk er dette et godt eksempel på, hvordan INDEX og MATCH er mere fleksible end VLOOKUP.