Du kan använda MATCH med INDEX för att skapa en uppslagsformel som är mer flexibel än VLOOKUP. Denna kombination kallas ofta för INDEX-MATCH.
Här är ett scenario för att demonstrera INDEX-MATCH med hjälp av denna tabell med försäljningsdata:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Namn | Region | Försäljning | Kommissionen |
| 2 | Alice | Norra | 5000 | 500 |
| 3 | Bob | Söder | 6000 | 600 |
| 4 | Charlie | Öst | 4500 | 450 |
| 5 | Daoud | Väst | 5500 | 550 |
| 6 | Eva | Norra | 4800 | 480 |
Låt oss nu säga att du vill söka upp en säljares provision baserat på dennes namn. Här är motsvarande INDEX-MATCH- och VLOOKUP-formler:
- INDEX-MATCH:
=INDEX(D2:D6,MATCH("Bob",A2:A6,0))
- VLOOKUP:
=VLOOKUP("Bob",A2:D6,4,FALSE)
Båda formlerna ger 600, vilket är Bobs provision.
Här är varför INDEX-MATCH är mer flexibelt:
- Kolumnoberoende: Med VLOOKUP måste kolumnen som innehåller returvärdet (provision) alltid vara till höger om uppslagskolumnen (namn), och du måste räkna kolumner för att ange vilken som innehåller önskade data (4 i det här fallet).
Med INDEX-MATCH kan returkolumnen vara var som helst i tabellen. Om kolumnerna omorganiseras så att Commission hamnar i kolumn B, kan du enkelt justera INDEX-MATCH-formeln (ersättaD2:D6medB2:B6).=INDEX(B2:B6,MATCH("Bob",A2:A6,0) )
VLOOKUP-formeln skulle inte fungera i det här scenariot. - Vänster uppslagning: VLOOKUP kan bara slå upp värden i kolumnen längst till vänster i ett intervall. Om du vill slå upp ett namn baserat på ett provisionsvärde kan du inte använda VLOOKUP. Med INDEX-MATCH kan du dock använda vilken kolumn som helst:
=INDEX(A2:A6,MATCH(600,D2:D6,0))
Detta skulle ge "Bob". - Prestanda: För stora datamängder kan INDEX-MATCH vara mer effektivt än VLOOKUP, särskilt om du gör många uppslagningar i samma tabell.