Załóżmy, że masz dane o transakcjach, w których najbardziej interesują Cię konkretne statusy. Bardzo często dokonujesz więc filtrowania tabeli wg statusu.
Aby usprawnić sobie to zadanie, masz listę rozwijaną poza tabelą, z której chcesz wybierać status, aby na tej podstawie filtrowała się tabela.
Chcesz to zrobić bez użycia VBA.
Formatka wygląda tak:
Od razu zaspojleruję (sorry 😉): bez VBA nie da się tego zrobić tak zupełnie automatycznie, ale w tym wpisie pokażę Ci trik na zrobienie tego prawie-tak-samo-szybko 😊
TWORZENIE LISTY ROZWIJANEJ W KOMÓRCE
Zacznę od stworzenia listy rozwijanej w komórce H3. Źródło do tej listy mam w zakresie L8:L11, który nazwałam Lista_Statusy (nie musisz nazywać zakresu, jednak to dobry pomysł).
W komórce H3 dodam teraz walidację, czyli:
- Zaznacz komórkę H3
- Menu Dane → Poprawność danych
- Z listy dozwolonych, wybierz opcję Lista, a jako źródło podaj nazwany zakres Lista_Statusy, a jeśli nie nazywałeś ich, to po prostu wskaż zakres ze źródłem do listy:
TWORZENIE KOLUMNY ROBOCZEJ AUTOFILTRU
I teraz czas na cały trik. W zakresie danych nie będziemy filtrowali kolumny ze statusami, tylko kolumnę roboczą, którą teraz sobie stworzymy.
Kolumna ta będzie zawierała formułę (formuły są dynamiczne i to jest 50% sekretu tego rozwiązania), która sprawdzi, czy odpowiedni komórka w tabeli zawiera status wybrany z listy rozwijanej. Jeśli tak – wyświetlimy np. 1, a jeśli nie: 0. I filtrować będziemy tylko jedynki.
Ok, to jest logika rozwiązania, to teraz działamy: najpierw trzeba stworzyć kolumnę roboczą. Nazwę ją np.: Rob, a formuła, która się w niej znajduje jest następująca:
=JEŻELI(H6=$H$3;1;0)
I w efekcie wygląda to tak – kolumna z zerami i jedynkami:
Tę kolumnę będzie można później nawet ukryć, nie musimy jej cały czas widzieć.
USTAWIENIE AUTOFILTRU
I teraz czynność, którą będziemy wykonywać albo ten jeden raz, albo za każdym razem, gdy filtr się zmieni lub Excelowi się go zapomni 😉: wyfiltruj jedynki z kolumny roboczej:
No i voila! Prawie wszystko zrobione!
Teraz kwestia samego filtrowania z użyciem listy rozwijanej i skrótu klawiszowego.
FILTROWANIE DANYCH SKRÓTEM KLAWISZOWYM
Zanim jeszcze o tym, to wyjaśnię Ci ważną funkcjonalność autofiltrów, tzw. stosowanie ponownie. Jest to niepozorna funkcjonalność, którą pewnie widziałeś jakieś… 762 razy, ale nawet się nie zastanawiałeś, po co ona jest 😉. Chodzi mi o to:
Polecenie to aktywuje się, kiedy filtrowaliśmy już dane (dlatego najpierw poprosiłam Cię o wyfiltrowanie jedynek).
Czyli teraz, jeśli zmienimy wybór statusu w żółtej komórce z listą rozwijaną, zmieni się formuła w kolumnie roboczej i będzie miało sens zastosowanie ponowne filtru 😊.
Ale zaraz, zaraz! Miał być skrót klawiszowy!
No i jest 😊. Ta przecudna funkcjonalność ma dedykowany skrót klawiszowy: Ctrl + Alt + L.
Kiedy znowu ustawisz się w tabeli z danymi i użyjesz tego skrótu – uzyskasz efekt zmiany filtru 😊:
I to wszystko bez użycia VBA!
Plik do pobrania:
I film na Youtubie, gdzie pokazuję powyższe rozwiązanie:
0 Comments