fbpx

Zmiana autofiltru po wyborze z listy rozwijanej (bez VBA)

07.11.2023 | ECP2, Narzędzia, Triki

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: 

Formatka

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: 

  1. Zaznacz komórkę H3 
  2. Menu Dane → Poprawność danych 
  3. 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 listy rozwijanej w komórce

 

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: 

Formuła kolumny roboczej

 

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: 

Filtrowanie 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: 

Zastosuj ponownie

 

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 😊: 

WYNIK

I to wszystko bez użycia VBA! 


Plik do pobrania:

https://malinowyexcel.pl/wp-content/uploads/2023/10/MalinowyExcel-Zmiana-filtru-po-wyborzez-z-listy-DW.xlsx

 

 

I film na Youtubie, gdzie pokazuję powyższe rozwiązanie:

 

 

 

Jeżeli chcesz lepiej poznać Excela na poziomie średniozaawansowanym zapisz się na listę zainteresowanych kursem Excel w codziennej pracy cz. 2! Podczas oczekiwania na kurs będę Ci wysyłała informacje, ciekawostki i excelowe triki. Bezpłatnie! 

Pomogłam Ci? Postaw mi wirtualną kawę! →

Przeczytaj podobne wpisy

Kategorie

0 komentarzy

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *