Quantcast
Viewing all articles
Browse latest Browse all 291

Dynamiczne filtrowanie tabeli dzięki checkboxowi i FILTRUJ

W tym artykule pokażę Ci świetne zastosowanie nowego checkboxa w Excelu, jakim jest wybór danych, które chcemy zobaczyć na liście. Połączymy to z funkcjami tablicowymi, dostępnymi w nowych wersjach Excela, dzięki czemu otrzymamy dynamiczną listę wyświetlającą tylko te dane, które chce zobaczyć użytkownik. 

W naszym przypadku user będzie filtrował tabelę z transakcjami zrealizowanymi przez handlowców. Tabela nazywa się tbDane i znajduje się w arkuszu TABELA: 

 

A w arkuszu Filtr będziemy dokonywać dynamicznego filtrowania. Mam w nim na razie prostą listę z checkboxami i nazwiskami handlowców, pod kątem których będę filtrować tabelę źródłową: 

 

Wynik filtrowania będzie formułą, którą teraz napiszemy. 

 

1. Połączenie checkboxów z tabelą

Aby wybrać wartości z tabeli na podstawie zaznaczenia checkboxów, musimy jakoś połączyć tabelę z checkboxami. Wow, wielkie odkrycie 😊. Ale w swojej prostocie jest sednem sprawy. 

Tym połączeniem będzie dodatkowa kolumna w tabeli tbDane, która w wierszu, w którym znajduje się handlowiec wybrany poprzez zaznaczony checkbox, będzie wyświetlała wartość logiczną PRAWDA, a tam, gdzie nie ma tego handlowca – FAŁSZ. Kolumnę nazwę Check_Handlowiec. 

Napiszemy w tym celu prostą formułę, która wyszuka handlowca w tabelce z checkboxami w arkuszu Filtr i wyświetli wartość zwróconą przez checkbox (PRAWDA/FAŁSZ). Oto formuła: 

=X.WYSZUKAJ([@Handlowiec];Filtr!$C$3:$C$6;Filtr!$B$3:$B$6) 

Do tego wyszukiwania ja użyłam funkcji X.WYSZUKAJ (ang: XLOOKUP), natomiast śmiało można użyć dowolnej innej (np. WYSZUKAJ.PIONOWO, czy INDEKS I PODAJ.POZYCJĘ). 

Efekt jest następujący (dla zaznaczonych checkboxów dla handlowców Grzegorz Jabłoński i Bogusława Jankowska): 

Image may be NSFW.
Clik here to view.

Połączenie tabeli z checkboxami

 

2. Filtrowanie funkcją FILTRUJ (ang. FILTER) 

W arkuszu Filtr (tam są checkboxy), wpiszę formułę do pierwszej komórki pod nagłówkiem, czyli B10. Formuła ta na razie jest następująca: 

=FILTRUJ(tbDane;tbDane[Check_Handlowiec];tbDane) 

(FILTRUJ = ang. FILTER) 

Ta funkcja wyświetla rekordy tabeli tbDane, zawierające słowo PRAWDA w kolumnie Check_Handlowiec. I to jeszcze nie jest efekt, na którym nam zależy: 

 

Formatowaniem, a raczej jego brakiem, na razie się nie przejmujemy. Bardziej interesuje nas, że zostały wyświetlone wszystkie kolumny tabeli źródłowej, a nie tylko te, które mamy wyświetlone w nagłówkach w formatce. 

Aby temu zaradzić, użyjemy funkcji WYBIERZ.KOLUMNY (ang. CHOOSECOLS) w połączeniu z funkcją PODAJ.POZYCJĘ (ang. MATCH), aby namierzyć konkretną kolumnę zakresu źródłowego: 

=WYBIERZ.KOLUMNY(FILTRUJ(tbDane;tbDane[Check_Handlowiec];tbDane);PODAJ.POZYCJĘ(B9:G9;tbDane[#Nagłówki];0)) 

Efekt jest następujący: 

Image may be NSFW.
Clik here to view.

Wybranie konkretnych kolumn

 

W sumie na tym można byłoby skończyć pisanie formuły. Ja jednak lubię, jak dane są posortowane i tutaj chciałabym, aby było posortowane po handlowcu, a zatem po kolumnie nr 6. 

Wrzucę więc dotychczasową formułę do funkcji SORTUJ (ang. SORT): 

=SORTUJ(WYBIERZ.KOLUMNY(FILTRUJ(tbDane;tbDane[Check_Handlowiec];tbDane);PODAJ.POZYCJĘ(B9:G9;tbDane[#Nagłówki];0));6) 

Po ręcznym sformatowaniu kolumn z datami i liczbami efekt jest taki: 

 

Voila! 

Można by pokusić się tutaj o bardziej dynamiczne rozwiązanie, tzn. takie, które generuje tabelę bez określonych wcześniej nagłówków. O tym jednak napiszę Ci niebawem 😉. 

 


Image may be NSFW.
Clik here to view.
Plik do pobrania:

https://malinowyexcel.pl/wp-content/uploads/2024/11/MalinowyExcel-20241119-Checkbox-FILTRUJ-DW.xlsx

 

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

 

 

 

Artykuł Dynamiczne filtrowanie tabeli dzięki checkboxowi i FILTRUJ pochodzi z serwisu Malinowy Excel.


Viewing all articles
Browse latest Browse all 291

Trending Articles


*3* dni do sylwestra... Macie już jakieś


uszkodzony (zatarty?) silnik


Mondeo MKIV 2.0 TDCI, Brak mocy, kopcenie, błąd przepływomierza P010F


Windows MX 9 by MalcolmX (x86/x64) [PL] [.iso]


Kombajn ziemniaczany GRIMME HLS 750


POTANIACZ


Sok malinowy


Kasowanie inspekcji Hyundai ix35


Instrukcje Polskie do Transceiverów - wymiana


Car Mechanic Simulator 2018 Spolszczenie Język Polski