fbpx

Dynamiczne tworzenie tabeli – funkcje tablicowe

10.12.2024 | ECP2, Formuły i funkcje, Microsoft365

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: 

Tabela do filtrowania

 

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

Formatka

 

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: 

Wynik funkcji FILTRUJ

 

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: 

Wynik funkcji STOS.PION

 

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: 

  1. WYBIERZ.KOLUMNY (ang. CHOOSECOLS) do wybrania konkretnych kolumn wyfiltrowanej tabeli 
  2. 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): 

Wynik formuły

 

I to wszystko 👏! 


Plik do pobrania:

https://malinowyexcel.pl/wp-content/uploads/2024/12/MalinowyExcel-20241203-Checkbox-FILTRUJ-StosPion-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 *