Możesz użyć MATCH z INDEX, aby utworzyć formułę wyszukiwania, która jest bardziej elastyczna niż VLOOKUP. Ta kombinacja jest często określana jako INDEX-MATCH.
Oto scenariusz demonstrujący INDEX-MATCH przy użyciu tej tabeli danych sprzedaży:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Nazwa | Region | Sprzedaż | Komisja |
| 2 | Alice | Północ | 5000 | 500 |
| 3 | Bob | Południe | 6000 | 600 |
| 4 | Charlie | Wschód | 4500 | 450 |
| 5 | Daoud | Zachód | 5500 | 550 |
| 6 | Ewa | Północ | 4800 | 480 |
Załóżmy, że chcesz sprawdzić prowizję sprzedawcy na podstawie jego nazwiska. Oto równoważne formuły INDEX-MATCH i VLOOKUP:
- INDEX-MATCH:
=INDEX(D2:D6,MATCH("Bob",A2:A6,0))
- VLOOKUP:
=VLOOKUP("Bob",A2:D6,4,FALSE)
Obie formuły zwrócą 600, czyli prowizję Boba.
Oto dlaczego INDEX-MATCH jest bardziej elastyczny:
- Niezależność kolumn: W przypadku VLOOKUP kolumna zawierająca wartość zwracaną (prowizja) musi zawsze znajdować się po prawej stronie kolumny wyszukiwania (nazwa) i musisz policzyć kolumny, aby określić, która z nich zawiera żądane dane (w tym przypadku 4).
W przypadku INDEX-MATCH kolumna zwrotna może znajdować się w dowolnym miejscu tabeli. Jeśli kolumny zostaną przestawione tak, aby Komisja znajdowała się w kolumnie B, możesz łatwo dostosować formułę INDEX-MATCH (zastępującD2:D6przezB2:B6).=INDEX(B2:B6,MATCH("Bob",A2:A6,0))
W tym scenariuszu formuła VLOOKUP uległaby uszkodzeniu. - Left Lookup: VLOOKUP może wyszukiwać wartości tylko w lewej kolumnie zakresu. Jeśli chcesz wyszukać nazwę na podstawie wartości prowizji, nie możesz użyć VLOOKUP. Jednak INDEX-MATCH pozwala na użycie dowolnej kolumny:
=INDEX(A2:A6,MATCH(600,D2:D6,0))
To zwróciłoby "Bob". - Wydajność: W przypadku dużych zbiorów danych INDEX-MATCH może być bardziej wydajny niż VLOOKUP, zwłaszcza jeśli wykonujesz wiele wyszukiwań w tej samej tabeli.