Jak używać funkcji INDEKS (INDEX) i PODAJ.POZYCJĘ (MATCH) jako bardziej elastycznej alternatywy dla WYSZUKAJ.PIONOWO?
Połączenie funkcji INDEKS (INDEX) i PODAJ.POZYCJĘ (MATCH) jest jednym z najpotężniejszych narzędzi w Excelu. Ten duet to bardziej elastyczny, szybszy i niezawodny zamiennik dla tradycyjnej funkcji WYSZUKAJ.PIONOWO (VLOOKUP) oraz WYSZUKAJ.POZIOMO (HLOOKUP).
Dlaczego INDEKS/PODAJ.POZYCJĘ jest lepsze od WYSZUKAJ.PIONOWO?
- Brak limitu kolumny:
WYSZUKAJ.PIONOWOmoże wyszukiwać tylko wartości znajdujące się **na prawo** od kolumny wyszukiwania.INDEKS/PODAJ.POZYCJĘnie ma tego ograniczenia – może wyszukiwać w dowolnym kierunku (w lewo lub w prawo). - Mniej awaryjne: Wstawienie lub usunięcie kolumny w arkuszu nie zepsuje formuły
INDEKS/PODAJ.POZYCJĘ, co często ma miejsce w przypadkuWYSZUKAJ.PIONOWO. - Wyszukiwanie dwukierunkowe: Można łatwo rozszerzyć formułę o drugą funkcję
PODAJ.POZYCJĘ, aby dynamicznie wyszukiwać zarówno w wierszach, jak i kolumnach (zobacz Krok 4).
1. Zrozumienie funkcji INDEKS (INDEX)
Funkcja INDEKS zwraca wartość z określonej komórki w zakresie, podając numer wiersza i (opcjonalnie) numer kolumny.
Jeśli wiemy, że szukana wartość jest w 5. wierszu zakresu A1:C10, formuła `=INDEKS(A1:C10; 5)` zwróci wartość z komórki A5.
2. Zrozumienie funkcji PODAJ.POZYCJĘ (MATCH)
Funkcja PODAJ.POZYCJĘ lokalizuje element w wierszu lub kolumnie i zwraca jego **pozycję** (numer wiersza lub kolumny) w tym zakresie.
W naszym przypadku kluczowe jest użycie typ\_dopasowania = 0, co oznacza dokładne dopasowanie.
3. Łączenie INDEKS i PODAJ.POZYCJĘ – Wyszukiwanie pionowe
Połączmy funkcje, aby dynamicznie znaleźć numer wiersza i przekazać go do funkcji INDEKS. Załóżmy, że masz dane w zakresie A1:C10 i szukasz "Produkt B" (komórka E1) w kolumnie A, a chcesz zwrócić wartość z kolumny C.
| A (ID) | B (Nazwa) | C (Cena) |
|---|---|---|
| P101 | Produkt A | 200 |
| P102 | Produkt B | 350 |
| P103 | Produkt C | 150 |
Formuła umieszczona np. w F1:
=INDEKS(C1:C10; PODAJ.POZYCJĘ(E1; A1:A10; 0))
Działanie:
PODAJ.POZYCJĘ(E1; A1:A10; 0)szuka "Produkt B" w kolumnie A i zwraca jego pozycję (w tym przypadku 2).INDEKS(C1:C10; 2)zwraca wartość z 2. wiersza kolumny C, czyli 350.
=INDEKS(A1:A10; PODAJ.POZYCJĘ(E1; C1:C10; 0))
4. Zaawansowane użycie – Wyszukiwanie dwukierunkowe
Jeśli użyjemy dwóch funkcji PODAJ.POZYCJĘ – jednej dla wierszy, a drugiej dla kolumn – możemy stworzyć dynamiczne wyszukiwanie w całej tabeli.
Dzięki temu możesz dynamicznie wybrać np. nazwę produktu i miesiąc, a Excel zwróci wartość sprzedaży z odpowiedniej komórki.
Komentarze
Prześlij komentarz