Excel wyszukiwanie po wielu kryteriach

Wyszukiwanie po wielu kryteriach

Jedną z częściej wykorzystywanych funkcji w Excelu jest WYSZUKAJ.PIONOWO(). Jednak funkcja ta w standardowej wersji wyszukuje nam wartości tylko w pierwszej kolumnie (czyli wyszukuje na podstawie tylko jednego kryterium). Dziś pokażemy Wam, jak poradzić sobie z wyszukiwaniem po wielu kryteriach. Załóżmy więc, że chcemy znaleźć nazwisko prezesa dla Firmy 1 w roku 2014 (patrz screen poniżej).

Połączenie kolumn

Jednym z rozwiązań jest wstawienie nowej kolumny z lewej strony naszej tablicy, w której połączymy wartości z kolumn, w których znajdują się wartości wyszukiwane. Można to zrobić np. za pomocą operatora &. Dzięki temu będziemy mogli zastosować funkcję WYSZUKAJ.PIONOWO() w znanej nam postaci.

To rozwiązanie jednak dalekie jest od idealnego. Pytanie, co zrobić w sytuacji, kiedy raz chcemy wyszukiwać wg kryteriów z kolumn Rok oraz Firma, a za chwilę wg kryteriów z kolumn Rok oraz Region? Albo gdy będziemy chcieli dołożyć jeszcze trzecie kryterium?

Tu z pomocą przychodzi nam funkcja INDEKS zastosowana w formule tablicowej.

Formuły tablicowe

Czym są w ogóle formuły tablicowe? To formuły, które wykonują obliczenia na wielu elementach tablicy (czyli zakresu wierszy i kolumn) i mogą zwracać wiele wyników lub tylko jeden (tak będzie w naszym przypadku).  Często formuły te znacznie skracają nam długość formuły koniecznej do obliczenia potrzebnej nam wielkości. Jeżeli zwracają wiele wyników, to się da się zmienić tylko części z nich (nasze wyniki są bezpieczne i nie tak łatwo je przypadkowo usunąć). Musimy tylko pamiętać, że po wprowadzeniu takiej formuły zatwierdzamy ją kombinacją Ctrl + Shift + Enter. Na pasku formuły formuła ta pojawi się w nawiasach klamrowych.

Funkcja INDEKS()

Możemy już pomału wprowadzać funkcję INDEKS(). Jest to funkcja, która zwraca wartość z danej tablicy leżącą na przecięciu konkretnego wiersza i konkretnej kolumny. Może zwracać wartość lub odwołanie, nam będzie tutaj potrzebna funkcja zwracająca wartość.

Pierwszym argumentem tej funkcji będzie cały zakres naszych danych. Numer wiersza znajdziemy korzystając z funkcji PODAJ.POZYCJĘ():

PODAJ.POZYCJĘ(B2&C2;B2:B20&C2:C20;0)

W tej funkcji możemy łączyć ze sobą zarówno szukane wartości (czyli nasze kryteria wyszukiwania) jak i przeszukiwane zakresy. 0 w ostatnim argumencie oznacza, że szukamy dokładnego dopasowania naszych kryteriów w tablicy. Gdybyśmy chcieli wyszukiwać po większej liczbie kryteriów, to oczywiście można je dodawać łącząc ze sobą operatorem &.

Tak więc nasza funkcja INDEKS() będzie w ostatecznej wersji wyglądała następująco:

=INDEKS(B2:H20; PODAJ.POZYCJĘ(B2&C2;B2:B20&C2:C20;0);3)

Trzeba tylko zatwierdzić ją jako tablicową (Ctrl + Shift + Enter).

Jeżeli jesteście zainteresowani powyższym tematem, to serdecznie zapraszamy na szkolenie Excel dla zaawansowanych, na którym szerzej omawiamy wyszukiwanie w Excelu.