Pełna lekcjaFull lesson
Sowa — maskotka Owl-Analytics
Sowia Ściąga · Darmowa AkademiaOwl Cheat Sheet · Free Academy

Tabele przestawne od A do ZPivot tables from A to Z

Cała lekcja na jednej kartce A4 — wydrukuj i powieś nad biurkiem.The whole lesson on one A4 sheet — print it and pin it above your desk.

Składnia / skrótySyntax / shortcuts

  • Ctrl+T na danych → Tabela: nowe wiersze same wchodzą do źródła po odświeżeniu.
  • Ctrl+T on the data → Table: new rows join the source on refresh.
  • Wstawianie → Tabela przestawna → Nowy arkusz. Cztery obszary: Wiersze (pion) · Kolumny (poziom) · Wartości (co liczyć) · Filtry (sito nad całością).
  • Insert → PivotTable → New Worksheet. Four areas: Rows · Columns · Values (what to count) · Filters (a sieve above it all).
  • Pole w Wartościach → Ustawienia pola wartości: Suma → Licznik / Średnia; zakładka Pokaż wartości jako: % sumy · Różnica od (poprzednia) = dynamika m/m lub r/r · Suma bieżąca · Ranga — bez jednej formuły.
  • Value field → Value Field Settings: Sum → Count / Average; the Show Values As tab: % of total · Difference From (previous) = MoM/YoY · Running Total · Rank — without a single formula.
  • To samo pole 2× w Wartościach → kwota i udział % obok siebie.
  • The same field twice in Values → amount and % share side by side.
  • Dwuklik w liczbę → drill-down: nowy arkusz z wierszami źródłowymi tej liczby.
  • Double-click a number → drill-down: a new sheet with the source rows behind it.
  • Daty grupują się same (Rok → Kwartał → Miesiąc); prawy przycisk → Grupuj / Rozgrupuj; teksty zaznaczasz z Ctrl i grupujesz ręcznie; liczby — w przedziały z krokiem.
  • Dates group themselves (Year → Quarter → Month); right-click → Group / Ungroup; Ctrl-click text items to group by hand; numbers — into stepped bins.
  • Analiza → Wstaw fragmentator / Wstaw oś czasu; prawy na fragmentatorze → Połączenia raportów = jeden sterownik dla kilku tabel (to samo źródło!).
  • Analyze → Insert Slicer / Insert Timeline; right-click a slicer → Report Connections = one control for several tables (same source!).
  • Pole do Filtrów → Opcje → Pokaż strony filtru raportu → osobny arkusz dla każdego regionu w 2 sekundy.
  • Field into Filters → Options → Show Report Filter Pages → one sheet per region in 2 seconds.
  • Alt+F5 odśwież tabelę · Ctrl+Alt+F5 odśwież wszystkie w pliku.
  • Alt+F5 refresh one table · Ctrl+Alt+F5 refresh all in the file.
  • Projektowanie → forma tabelaryczna + Powtórz wszystkie etykiety = raport do dalszej obróbki.
  • Design → tabular form + Repeat All Item Labels = a report ready for further processing.
=WEŹDANETABELI("Wartość";$A$3;"Region";"Warszawa") — liczba odporna na przebudowę układu; wpisz = i kliknij komórkę tabeli— GETPIVOTDATA: a number immune to layout rebuilds; type = and click a pivot cell

PułapkiPitfalls

  • Suma = 0 albo licznik zamiast sumy → w kolumnie liczb siedzi tekst. Napraw typ w źródle (Dane → Tekst jako kolumny).
  • Sum = 0 or a count instead of a sum → text sits in the number column. Fix the type at the source (Data → Text to Columns).
  • Daty się nie grupują → to teksty udające daty. A jedna pusta data blokuje grupowanie całej kolumny — znajdź ją filtrem „(puste)”.
  • Dates won't group → they are text pretending to be dates. And one empty date blocks grouping for the whole column — find it with the “(blank)” filter.
  • Pusty wiersz w środku danych ucina zakres — tabela „widzi” listę tylko do pierwszej pustki.
  • An empty row inside the data cuts the range — the pivot only “sees” the list up to the first gap.
  • Raport rozjeżdża się po odświeżeniu → ktoś formatował komórki zamiast pola. Format liczb ustawiaj w ustawieniach pola wartości.
  • The report falls apart after a refresh → someone formatted cells, not the field. Set number formats in Value Field Settings.
  • „Zgrupowałem daty i druga tabela się popsuła” → wspólna pamięć podręczna: grupowanie dzieli się między tabele na tym samym źródle.
  • “I grouped dates and the other table broke” → the shared cache: grouping spreads across tables on the same source.
  • Pole obliczeniowe liczy od sum, nie od wierszy — marżę i inne ilorazy licz w kolumnie źródła.
  • A calculated field computes from sums, not rows — compute margins and other ratios in a source column.
  • WEŹDANETABELI zwraca #ADR! → filtr ukrył pozycję. Owijaj w JEŻELI.BŁĄD (IFERROR).
  • GETPIVOTDATA returns #REF! → a filter hid the item. Wrap it in IFERROR.
  • Fragmentator nie filtruje drugiej tabeli → podepnij Połączenia raportów (i to samo źródło).
  • The slicer ignores the second table → tick Report Connections (and use the same source).
  • Zapomniane „Odśwież” = raport z zeszłego miesiąca na spotkaniu z szefem. Klasyk.
  • A forgotten “Refresh” = last month's report at the meeting with the boss. A classic.

Checklista — sprawdź, czy umieszChecklist — test yourself

  • Przygotuję dane: płaska lista, jeden nagłówek, zero scaleń i pustych wierszy, spójne typy.
  • Prepare the data: a flat list, one header row, zero merges and empty rows, consistent types.
  • Zbuduję przestawną od zera i rozumiem rolę czterech obszarów.
  • Build a pivot from scratch and explain the four areas.
  • Zamienię sumę na licznik, średnią i udział % — bez pisania formuł.
  • Switch a sum to a count, an average and a % share — without writing formulas.
  • Policzę dynamikę m/m, r/r i sumę bieżącą przez „Pokaż wartości jako”.
  • Compute MoM, YoY and running totals via “Show Values As”.
  • Zgrupuję daty, teksty i liczby w przedziały.
  • Group dates, text and numbers into bins.
  • Sprawdzę liczbę drill-downem (dwuklik) i posortuję raport malejąco.
  • Verify a number with drill-down (double-click) and sort the report descending.
  • Podepnę jeden fragmentator pod kilka tabel naraz.
  • Hook one slicer up to several tables at once.
  • Rozdzielę raport stronami filtru i wyciągnę liczbę funkcją WEŹDANETABELI (GETPIVOTDATA).
  • Split a report with filter pages and pull a number with GETPIVOTDATA.
  • Ocenię, kiedy pole obliczeniowe kłamie — i policzę iloraz w źródle.
  • Judge when a calculated field lies — and compute the ratio at the source.