Du kan bruke MATCH med INDEX for å lage en oppslagsformel som er mer fleksibel enn VLOOKUP. Denne kombinasjonen kalles ofte INDEX-MATCH.
Her er et scenario for å demonstrere INDEX-MATCH ved hjelp av denne tabellen med salgsdata:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Navn | Region | Salg | Kommisjonen |
| 2 | Alice | Nord | 5000 | 500 |
| 3 | Bob | Sør | 6000 | 600 |
| 4 | Charlie | Øst | 4500 | 450 |
| 5 | Daoud | Vest | 5500 | 550 |
| 6 | Eva | Nord | 4800 | 480 |
La oss si at du ønsker å slå opp en selgers provisjon basert på navnet hans eller hennes. Her er de tilsvarende INDEX-MATCH- og VLOOKUP-formlene:
- INDEX-MATCH:
=INDEX(D2:D6,MATCH("Bob",A2:A6,0))
- VLOOKUP:
=VLOOKUP("Bob",A2:D6,4,FALSE)
Begge formlene gir 600, som er Bobs provisjon.
Derfor er INDEX-MATCH mer fleksibel:
- Kolonneuavhengighet: Med VLOOKUP må kolonnen som inneholder returverdien (kommisjon) alltid stå til høyre for oppslagskolonnen (navn), og du må telle kolonner for å angi hvilken kolonne som inneholder de ønskede dataene (4 i dette tilfellet).
Med INDEX-MATCH kan returkolonnen være hvor som helst i tabellen. Hvis kolonnene er omorganisert slik at Kommisjon var i kolonne B, kan du enkelt justere INDEX-MATCH-formelen (ved å erstatteD2:D6medB2:B6).=INDEX(B2:B6,MATCH("Bob",A2:A6,0))
VLOOKUP-formelen ville bryte sammen i dette scenariet. - Oppslag til venstre: VLOOKUP kan bare slå opp verdier i kolonnen lengst til venstre i et område. Hvis du ville slå opp et navn basert på en provisjonsverdi, kunne du ikke bruke VLOOKUP. Med INDEX-MATCH kan du imidlertid bruke en hvilken som helst kolonne:
=INDEX(A2:A6,MATCH(600,D2:D6,0))
Dette vil returnere "Bob". - Ytelse: For store datasett kan INDEX-MATCH være mer effektivt enn VLOOKUP, spesielt hvis du gjør mange oppslag i samme tabell.