Funkcja WYSZUKAJ.PIONOWO, jak również kombinacja PODAJ.POZYCJĘ + INDEKS, zachowują się w pewnym obszarze tak samo. Oba rozwiązania zwracają w wyniku pierwszą znalezioną wartość. Są też niewrażliwe na wielkość liter. Czy da się wyszukiwać dane uwzględniając również ten warunek? O tym dowiesz się w tym artykule.
Zbawienna funkcja PORÓWNAJ
W praktyce dość rzadko pojawia się potrzeba zaczytania danych z uwzględnieniem wielkości liter….
Kilka dni temu stanąłem jednak w obliczu takiego wyzwania. Wiedziałem, że EXCEL w swoim bogatym arsenale posiada wbudowaną funkcję PORÓWNAJ, która zestawia ze sobą dwa wpisy zwracając w wyniku wartość logiczną PRAWDA lub FAŁSZ.
Nie wiedziałem jednak czy funkcja potrafi zwrócić w wyniku tablicę, gdy porównamy jedną wartość z kilkunastoma… Okazało się, że nie ma z tym żadnego problemu, zatem przystąpiłem do budowania formuły tablicowej….
Porównanie tablicowe
Poniżej znajduje się prosta tabela, która pokazuje kody sprzedawców i przypisaną im sprzedaż. Trzykrotnie występuje w nim wpis bh12, jednak za każdym razem w innej konfiguracji odnośnie wielkości liter.
Naszym zadaniem jest znalezienie sprzedaży dla sprzedawcy z kodem bH12.
Jak widać, funkcja WYSZUKAJ.PIONOWO nie sprawdziła się (wynik 71), ponieważ zwróciła sprzedaż dla sprzedawcy bh12, natomiast prawidłowo zadziałała druga formuła tablicowa (wynik 63).
Analiza formuły
- Funkcja PORÓWNAJ najpierw porównuje kod bH12 ze wszystkimi kodami sprzedawców. W wyniku tworzy tablicę złożoną z wielu wartości FAŁSZ i jednej wartości PRAWDA (ponieważ bH12 występuje na liście tylko jeden raz).
- Następnie funkcja PODAJ.POZYCJĘ szuka wartości PRAWDA w tablicy, którą generuje funkcja PORÓWNAJ. Ostatni argument koniecznie należy ustawić na 0.
- W tym momencie możemy kolokwialnie rzec, że „jesteśmy w domu”. Funkcja INDEKS zwraca w wyniku wartość z kolumny Sprzedaż, pozycję określa zaś funkcja PODAJ.POZYCJĘ.