Jednym z moich ulubionych narzędzi w Excelu jest filtr zaawansowany. Jego potęgę widać zwłaszcza w kontekście pracy w VBA. W tej notce chciałbym jednak dość przekornie napisać o jego pewnej pułapce, na którą sporo osób się nabiera.
Idea Zadania

W arkuszu Muzyka mamy pewną listę – złożoną głównie z polskich piosenkarek.
Prawie każdy wpis dla pozycji 1-8 zawiera w sobie słowo anna pisane małą lub wielką literą.
Dodatkowo pozycja 9 zawiera słowo Anna, zaś pozycja 10 słowo anna. Dziwne? Mamy w tym swój cel!
Testy
Będziemy stosować różne kryteria filtrowania, natomiast naszym celem jest wyfiltrowanie pozycji nr 10, czyli słowa anna.
Kryteria filtrowane będą podawane w środkowej tabeli, zaś w wynik po prawej stronie.

Początek tabeli (słowo Pozycja) znajduje się w komórce B2.

Test 1. anna
Pierwsza próba polega na wpisaniu do komórki F3 słowa anna. Spodziewam się, że zostanie wyfiltrowana tylko pozycja nr 10.

A jednak zonk! Wynik okazał się inny!
Filtr zaawansowany pokazał wszystkie wpisy, które rozpoczynają się słowem anna, pisanym małą lub wielką literą.
Czyli pominął takie imiona jak Joanna, Hanna czy Marianna. Uwzględnił jednak Anna, anna, ale też np. Anna Wyszkoni. Gdybyśmy jednak na liście mieli wpis Marta Anna Nowak – zostałby on pominięty. Doprawdy ciekawe :).
Na tym polega pułapka – Excel zwraca nieprawidłowe dane! Jest to nieintuicyjne.
Test 2. = “anna”
Tym razem do komórki F3 wpisujemy formułę =”anna”. Spodziewam się, że tym razem wynik będzie prawidłowy.

A jednak znowu zonk! Excel zwrócił takie same wyniki jak poprzednio! Są one nieprawidłowe.
Test 3. = “=anna”
W komórce F3 wprowadzamy dodatkowy znak równości. Wpisujemy więc formułę =“=anna”. Wydaje mi się, że niewiele to zmieni.

A jednak! Coś się ruszyło. Jesteśmy blisko prawdy! Excel wyfiltrował tylko dwie pozycje. Potrzebujemy jeszcze tylko uwzględnić wielkość liter.
Test 4. =C3=”anna”
Tym razem spróbujemy zastosować tzw. kryterium formułowe lub kryterium wyliczane.
W takiej sytuacji musimy jednak zmienić nazwę nagłówka w kolumnie F2, na taki, który nie występuje w tabeli źródłowej.
Do komórki F2 wpisuję słowo Formuła, zaś do F3 formułę =C3=”anna”

Excel zwraca mi dokładnie taki sam wynik jak w próbie nr 4!
Test 5. =PORÓWNAJ(C3,”anna”)
Jeszcze raz użyjemy kryterium formułowego, ale będzie ono nieco bardziej skomplikowane.
Do komórki F3 wpisujemy formułę =PORÓWNAJ(C3,”anna”).
Chodzi o to, aby Excel porównał każdy wpis z zakresu C3:C12 ze słowem anna, a przy tym uwzględnił wielkość liter….
Obstawiam, że teraz będzie OK ;).

Udało się! Excel wyfiltrował mi tylko pozycję nr 10, czyli słowo anna.