W tym artykule, bardzo podobnie jak w tym, będziemy dynamicznie tworzyć tabelę za pomocą nowych funkcji tablicowych Excela. Cała tabela łącznie z nagłówkami zostanie utworzona w wyniku filtrowania innej tabeli, a samego filtrowania będziemy dokonywać za pomocą checkboxa – również nowej funkcjonalności Excela.
W naszym przypadku user będzie filtrowała 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ą:
Zauważ, że oprócz checkboxów nic w tym arkuszu nie ma (w poprzednim wpisie opisywałam sytuację, kiedy mieliśmy określone interesujące nas nagłówki).
Wynik filtrowania, a zatem całą tabelę łącznie z nagłówkami utworzymy za pomocą funkcji tablicowych.
Skorzystam też z gotowego powiązania tabeli źródłowej z checkboxami, które opisywałam w tym artykule, czyli funkcji X.WYSZUKAJ (ang. XLOOKUP). Jeśli nie czytała(e)ś, to koniecznie tam zajrzyj, bo bez tego nie ruszysz dalej.
Już?
To czytaj dalej.
1. Filtrowanie funkcją FILTRUJ
W arkuszu wynikowym Filtr, w komórce B9 napiszę formułę. Zacznę od jej podstawowej części, czyli funkcji FILTRUJ (ang. FILTER), która wyświetli mi całą tabelę:
=FILTRUJ(tbDane;tbDane[CzyHandlowiec];tbDane)
Efekt będzie na razie taki:
Czyli widzimy, że handlowiec jest prawidłowo filtrowany (Bogusława Jankowska), jednak widzimy wszystkie kolumny tabeli źródłowej, nie ma nagłówków i oczywiście wynik jest niesformatowany.
Formatowanie zostawię na koniec, niestety formułą nie jestem w stanie tego zrobić.
2. Doklejanie nagłówka do tabeli funkcją STOS.PION
Ale formułą jestem w stanie dołączyć nagłówek do wyfiltrowanej tabeli. Zrobię to, łącząc dwie tablice: nagłówek tabeli źródłowej oraz wynik poprzedniej formuły.
Zrobię to funkcją STOS.PION (ang. VSTACK). Oto rozbudowana o nią formuła:
=STOS.PION(tbDane[#Headers];FILTER(tbDane;tbDane[CzyHandlowiec];tbDane))
Efekt jest następujący:
To jedziemy dalej.
3. Wybieranie kolumn funkcją WYBIERZ.KOLUMNY
Za pomocą formuły mogę też wybrać kolumny, które chcę widzieć w tabeli wynikowej. A chcę widzieć wszystkie, oprócz ostatniej, czyli od pierwszej do ósmej.
I tutaj przydadzą nam się dwie funkcje:
- WYBIERZ.KOLUMNY (ang. CHOOSECOLS) do wybrania konkretnych kolumn wyfiltrowanej tabeli
- SEKWENCJA (ang. SEQUENCE) do określenia numerów ośmiu kolejnych kolumn
Cała formuła, rozbudowana o wspomniane funkcje, wygląda tak:
=CHOOSECOLS(VSTACK(tbDane[#Headers];FILTER(tbDane;tbDane[CzyHandlowiec];tbDane));SEQUENCE(8))
I volia! Oto wynik, już od razu sformatowałam (polecam sformatować z zapasem, na wypadek gdy tabela będzie dłuższa):
I to wszystko 👏!
I film na Youtubie, gdzie pokazuję powyższe rozwiązanie:
0 komentarzy