class: title-slide center middle # PivotTable ## Excel-Schulung Studierendenwerk Bielefeld ### Jens Klenke, M.Sc. --- class: top, left ## PivotTable — Übersicht - Einleitung - Grundaufbau & Datenquelle - Auswertung - Layout - Berechnungen - PivotChart - Aktualisieren --- class: inverse middle center # Einleitung --- ## Was ist eine PivotTable? **Definition:** Ein Werkzeug, um große Datenmengen **interaktiv zusammenzufassen** und auszuwerten -- **Vorteil:** Felder werden per **Drag & Drop** angeordnet, ohne selbst zu coden -- **Voraussetzungen:** .font90[ .half-br[] | Anforderung | Warum wichtig? | |--------------|------------------| | **Langes Format** | Jede Kategorie in einer Spalte, nicht über mehrere Spalten verteilt | | **Keine Leerzeilen/-spalten** | Sonst wird der Datenbereich nicht korrekt erkannt | | **Eindeutige Spaltenüberschriften** | Jede Spalte braucht einen **eigenen, klaren Namen** | | **Ein Datensatz pro Zeile** | Keine zusammengefassten/verschmolzenen Zellen | ] --- ## PivotTable erstellen **Menüpfad:** .blockquote.exercise[Daten markieren → Einfügen → PivotTable] -- .font90[ .half-br[] **Dialogfenster:** .half-br[] | Option | Bedeutung | |--------|-----------| | **Tabelle/Bereich** | Der zu analysierende Datenbereich | | **Externe Datenquelle** | z.B. eine Power Query-Abfrage | | **Neues Arbeitsblatt** | PivotTable auf eigenem Blatt (empfohlen!) | | **Vorhandenes Arbeitsblatt** | PivotTable an bestimmter Stelle einfügen | ] -- .font90[ .half-br[] Eine PivotTable wird meisten auf einem _Neuen Arbeitsblatt_ errichtet, damit die Rohdaten und Auswertung klar getrennt bleiben ] --- class: inverse middle center # Grundaufbau & Datenquelle --- ## Grundaufbau Die **PivotTable-Feldliste** erscheint automatisch am rechten Bildschirmrand -- #### Ablagebereiche .font90[ .half-br[] | Bereich | Funktion | |---------|----------| | **Filter** | Übergeordnete Einschränkung der gesamten Tabelle | | **Zeilen** | Kategorien werden **untereinander** aufgelistet | | **Spalten** | Kategorien werden **nebeneinander** aufgelistet | | **Werte** | Die eigentlichen Berechnungen (Summe, Anzahl, ...) | ] -- .half-br[] Felder aus der oberen Liste in den gewünschten Bereich ziehen --- ## Beispiel .pull-left[ **Rohdaten:** | Stadt | Monat | Umsatz | |-------|-------|--------| | Bielefeld | Jan | 100 | | Essen | Jan | 50 | | Bielefeld | Feb | 120 | ] -- .pull-right[ **Ziel:** Umsatz pro Stadt anzeigen ``` Zeilen: Stadt Werte: Umsatz (Summe) ``` ] -- <br> **Ergebnis:** | Stadt | Summe von Umsatz | |-------|-------------------| | Bielefeld | 220 | | Essen | 50 | | **Gesamtergebnis** | **270** | --- ## PivotTable erstellen — Datenquelle **Schritt 1:** .blockquote.exercise[Cursor in den Datenbereich klicken ] **Schritt 2:** .blockquote.exercise[Einfügen → PivotTable → OK] -- .half-br[] .font90[ **Quellen:** .half-br[] | Quelle | Vorteil | |--------|---------| | **Normaler Bereich** | Schnell für einmalige Analysen | | **Excel-Tabelle** | Erweitert sich automatisch bei neuen Zeilen | | **Power Query-Abfrage** | Zusätzlich automatische Bereinigung bei Aktualisierung | ] -- .half-br[] **Empfehlung:** Für wiederkehrende Berichte **Tabelle** oder **Power Query** nutzen --- ## Zeilen & Spalten **Zeilen:** Kategorien werden in **Zeilen untereinander** aufgelistet -- .font90.pull-left[ **Beispiel:** ``` Zeilen: Stadt ``` ] -- .font90.pull-right[ .half-br[] **Ergebnis:** .half-br[] | Stadt | |-------| | Bielefeld | | Essen | ] -- .font90[ .half-br[] Bei **mehrere Feldern** Werden diese **hierarchisch verschachtelt** ] -- .font90[ **Spalten:** Kategorien werden in **Spalten nebeneinander** aufgelistet ] -- .font90.pull-left[ **Beispiel:** .half-br[] ``` Zeilen: Stadt Spalten: Monat ``` ] -- .font90.pull-right[ **Ergebnis:** .half-br[] | Stadt | Jan | Feb | |-------|-----|-----| | Bielefeld | | | | Essen | | | ] --- ## Werte & Filter **Werte:** Die eigentliche **Berechnung/Aggregation** der Daten -- .font90[ **Standardverhalten:** .half-br[] | Datentyp des Feldes | Automatische Berechnung | |------------------------|----------------------------| | Zahlen | **Summe** | | Text/Datum | **Anzahl** | ] -- .font90[ .half-br[] - Dieselbe Spalte kann **mehrmals** in den Werte-Bereich gezogen werden — mehr dazu später ] -- **Filter:** **Dynamisches** filtern der PivotTable, ohne die Rohdaten zu verändern --- ## Zusammenfassung <br> | Bereich | Wirkung | |---------|---------| | **Zeilen** | Kategorien untereinander | | **Spalten** | Kategorien nebeneinander | | **Werte** | Berechnung/Aggregation | | **Filter** | Globale Einschränkung | -- <br> > Es gibt **kein Richtig oder Falsch**, bei der Anordnung. Entscheidend ist das Ziel --- class: inverse middle center # Auswertung --- ## Berechnungstyp ändern **Menüpfad:** .blockquote.exercise[Rechtsklick auf Wert → Werte zusammenfassen nach] .half-br[] -- .font90[ **Wichtigste verfügbare Berechnungen:** .half-br[] | Funktion | Wirkung | |----------|---------| | **Summe** | Addiert alle Werte | | **Anzahl** | Zählt die Einträge | | **Mittelwert** | Berechnet den Durchschnitt | | **Max / Min** | Größter/kleinster Wert | | **Produkt** | Multipliziert alle Werte | | **StdAbw** | Standardabweichung | ] --- ## Werte als Prozent anzeigen **Menüpfad:** .blockquote.exercise[Rechtsklick auf Wert → Werte anzeigen als] -- .font80.pull-left-2[ .half-br[] **Wichtigste Optionen:** .half-br[] | Option | Zeigt an... | |--------|-------------| | **% vom Gesamtergebnis** | Anteil am kompletten Gesamtergebnis | | **% der Zeilenzusammenfassung** | Anteil innerhalb der jeweiligen Zeile | | **% der Spaltenzusammenfassung** | Anteil innerhalb der jeweiligen Spalte | | **Differenz von** | Absolute Veränderung zu Vorjahr/-monat | | **% Differenz von** | Prozentuale Veränderung zu Vorjahr/-monat | ] -- .font80.pull-right-1[ .half-br[] **Beispiel:** Umsatz pro Stadt als Anteil am Gesamtumsatz .half-br[] | Stadt | Umsatz | % vom Gesamtergebnis | |-------|--------|-------------------------| | Bielefeld | 220 | 81,5% | | Essen | 50 | 18,5% | ] --- ## Mehrere Werte Im Bereich Were können **Felder** mehrfach gezogen werden -- .pull-left[ .half-br[] **Beispiel:** ``` Werte: Umsatz (Summe) Umsatz (Anzahl) Umsatz (Mittelwert) ``` ] -- .font90.pull-right[ **Ergebnis:** .half-br[] | Stadt | Summe von Umsatz | Anzahl von Umsatz | Mittelwert von Umsatz | |-------|---------------------|------------------------|---------------------------| | Bielefeld | 220 | 2 | 110 | ] -- <br> **Werte umbenennen** .blockquote.exercise[Doppelklick auf die Spaltenüberschrift in der Tabelle → neuen Namen eingeben] -- **Achtung:** Der neue Name darf **nicht identisch** mit dem ursprünglichen Feldnamen sein --- ## Datumswerte gruppieren **Menüpfad:** .blockquote.exercise[Rechtsklick auf Datumsfeld (in Zeilen/Spalten) → Gruppieren] -- .half-br[] **Wichtigste Gruppierungsoptionen:** ``` Sekunden, Minuten, Stunden Tage, Monate, Quartale, Jahre ``` -- .font90[ **Beispiel:** .half-br[] | Vorher (einzelne Daten) | Nachher (gruppiert nach Monat) | |---------------------------|-----------------------------------| | 03.01.2026 | Januar | | 15.01.2026 | Januar | | 02.02.2026 | Februar | ] --- ## Zahlenwerte gruppieren **Menüpfad:** .blockquote.exercise[Rechtsklick auf Zahlenfeld (Zeilen/Spalten) → Gruppieren] -- .font90[ .half-br[] **Einstellungen im Dialogfenster:** .half-br[] | Feld | Bedeutung | |------|-----------| | **Beginnend bei** | Startwert der ersten Gruppe | | **Bis** | Endwert der letzten Gruppe | | **Nach** | Intervallgröße (Schrittweite) | ] -- .half-br[] **Beispiel (Alter gruppieren, Intervall 10):** .half-br[] ``` Beginnend bei: 0 Bis: 100 Nach: 10 ``` --- ## Gruppen wieder auflösen **Menüpfad:** .blockquote.exercise[Rechtsklick auf gruppiertes Feld → Gruppierung aufheben] -- <br> **Wichtig:** - Löscht **nur** die Gruppierung, nicht die Originaldaten - Danach werden wieder alle **einzelnen** Werte angezeigt --- ## Sortieren in der PivotTable **Über Dropdown-Pfeil:** .blockquote.exercise[Klick auf Feld-Dropdown → Sortieren A→Z / Z→A] **Über Rechtsklick:** .blockquote.exercise[Rechtsklick auf Wert → Sortieren → Nach Werten sortieren] -- .half-br[] **Unterschied:** .half-br[] | Sortierung | Wirkung | |------------|---------| | **Alphabetisch (A→Z)** | Sortiert nach den **Beschriftungen** | | **Nach Werten** | Sortiert nach den **berechneten Zahlen** | --- ## Benutzerdefinierte Sortierreihenfolge **Standardproblem:** Excel sortiert automatisch alphabetisch — alphabetisch Reihenfolge nicht immer sinnvoll -- **Lösung:** .blockquote.exercise[Datei → Optionen → Erweitert → Allgemein → Listen zur Verwendung bei Sortierungen und Fülloperationen erstellen → Benutzerdefinierte Listen bearbeiten] -- <br> **Beispiel:** .half-br[] ``` Eigene Liste anlegen: Mo, Di, Mi, Do, Fr, Sa, So ``` -- .half-br[] Rheinenfolge wird **anschließend automatisch** übernommen --- ## Filter **Klassicher Filter:** .blockquote.exercise[Klick auf Feld-Dropdown in Zeilen/Spalten] -- **Möglichkeiten im Dropdown:** - Einzelne Werte per Häkchen aus-/einblenden - Textfilter (enthält, beginnt mit, ...) - Wertfilter (größer als, Top 10, ...) -- **Berichtsfilter:** Ein Feld wird in den **Filter-Bereich** gezogen - Dropdown oberhalb der Tabelle - Mehrfachauswahl muss aktiviert werden --- ## Datenschnitte / Slicer — Visuelle Filter **Menüpfad:** .blockquote.exercise[PivotTable anklicken → Analysieren/PivotTable-Analyse → Datenschnitt einfügen] -- .font90[ .half-br[] **Vorteil:** - Alle Werte werden als **klickbare Buttons** angezeigt - Auf einen Blick sichtbar, was gerade **aktiv/inaktiv** gefiltert ist - Verknüpfung zu mehreren Tabellen ] -- **Mehrere PivotTables mit einem Slicer verbinden:** .blockquote.exercise[Rechtsklick auf Slicer → Berichtsverbindungen] -- .font90[ .half-br[] - **Im Dialogfenster:** Gewünschte PivotTables auswählen - **Voraussetzung:** Verbundene PivotTables müssen auf **derselben** Datenquelle/Feld basieren ] --- ## Datenschnitte (Visuelle Filter) Spezieller **Slicer** für Datumsfelder **Menüpfad:** .blockquote.exercise[PivotTable anklicken → Analysieren → Zeitachse einfügen] -- <br> **Unterschied zum normalen Slicer:** - Speziell für **Datumsfelder** konzipiert - Zeigt einen **Zeitstrahl** (Tage, Monate, Quartale, Jahre wählbar) - Bereich lässt sich durch Ziehen der Ränder eingrenzen <!-- (Layout & Design) --> --- class: inverse middle center # Layout --- ## Berichtslayout: Die drei Grundformen **Menüpfad:** .blockquote.exercise[PivotTable-Analyse/Entwurf → Berichtslayout] -- <br> **Varianten:** .half-br[] | Layout | Darstellung | |--------|-------------| | **Kompakt** (Standard) | Alle Zeilenfelder in **einer** Spalte, eingerückt | | **Gegliedert** | Jedes Zeilenfeld bekommt eine **eigene Spalte** | | **Tabellarisch** | Wie Gegliedert, aber mit Zwischensummen **pro Zeile** sichtbar | --- ## Teilergebnisse & Gesamtergebnisse **Menüpfad:** .blockquote.exercise[PivotTable-Analyse/Entwurf → Teilergebnisse / Gesamtergebnisse] -- .half-br[] **Teilergebnisse:** .font90[ - Nicht anzeigen - Am Ende jeder Gruppe anzeigen (Standard) - Am Anfang jeder Gruppe anzeigen ] -- **Gesamtergebnisse:** .font90[ - Für Zeilen und Spalten deaktivieren - Nur für Zeilen aktivieren - Nur für Spalten aktivieren - Für beide aktivieren (Standard) ] --- ## Leere Zellen auffüllen **Problem:** Wenn eine Kombination keine Daten hat, bleibt die Zelle standardmäßig **leer** -- <br> **Menüpfad:** .blockquote.exercise[Rechtsklick in PivotTable → PivotTable-Optionen → Layout & Format] **Wichtige Einstellung:** ✅ Für leere Zellen anzeigen: [0] oder [Text, z.B. "-"] --- ## PivotTable-Formate & Designvorlagen **Menüpfad:** .blockquote.exercise[PivotTable anklicken → Entwurf → PivotTable-Formate] -- <br> **Vorgefertigte Optionen:** - Farbige Vorlagen (Hell/Mittel/Dunkel) - Gebänderte Zeilen/Spalten (abwechselnde Farben) - Kopfzeile ein-/ausblenden -- **Zusätzliche Design-Checkboxen:** ``` ✅ Zeilenüberschriften ✅ Spaltenüberschriften ✅ Gebänderte Zeilen ✅ Gebänderte Spalten ``` <!-- (Berechnete Felder & Elemente): --> --- class: inverse middle center # Berechnungen --- ## Berechnetes Feld — eigene Formeln in PivotTable **Menüpfad:** .blockquote.exercise[PivotTable-Analyse → Felder, Elemente & Gruppen → Berechnetes Feld] -- .half-br[] - Ein **neues Feld** wird erstellt, das auf einer eigenen Formel basiert - Neues Feld erscheint danach in der **Feldliste** -- **Einschränkung** > Berechnete Felder rechnen immer mit den **Summen** der Ausgangsfelder --- ## Berechnetes Element — eigene Kategorie erstellen **Menüpfad:** .blockquote.exercise[Feld in Zeilen/Spalten anklicken → PivotTable-Analyse → Berechnetes Element] -- .half-br[] Eine **neue Kategorie** wird innerhalb eines vorhandenen Feldes erstellt, die vorhandene Kategorien kombiniert -- .half-br[] **Beispiel:** ``` Feld: Stadt Neues Element: "NRW-Städte" = Bielefeld + Essen ``` .half-br[] Erscheint danach als zusätzliche Zeile/Spalte neben den ursprünglichen Städten --- ## Zusammenfassung: Berechnete Felder & Elemente <br> | Funktion | Zweck | |----------|-------| | **Berechnetes Feld** | Neue Kennzahl aus vorhandenen Feldern berechnen | | **Berechnetes Element** | Neue Kategorie aus vorhandenen Kategorien kombinieren | | **Wichtige Einschränkung** | Rechnet mit Summen, nicht mit Einzelwerten | --- class: inverse middle center # PivotChart --- ## PivotChart **Definition:** Diagramm ist direkt mit der PivotTable **verknüpft** – Ändert sich die PivotTabl, passt sich das Diagramm an -- ### PivotChart erstellen **Vorhandene PivotTable:** .blockquote.exercise[PivotTable anklicken → PivotTable-Analyse → PivotChart] **Direkt neu erstellen:** .blockquote.exercise[Einfügen → PivotChart] --- ## PivotChart bedienen **Schaltflächen im Diagramm:** - Direkt im Diagramm erscheinen kleine **Dropdown-Buttons** (ähnlich der Feldliste) zum Filtern - Buttons lassen sich bei Bedarf ausblenden (Rechtsklick → Alle Feldschaltflächen im Diagramm ausblenden) .half-br[] **Verknüpfung mit Slicern** - Slicer steuern auch PivotCharts --- class: inverse middle center # Aktualisieren <!-- (Aktualisieren & Datenquelle ändern --> --- ## PivotTable aktualisieren **Menüpfad:** .blockquote.exercise[Rechtsklick auf PivotTable → Aktualisieren] **Alternative:** .blockquote.exercise[PivotTable-Analyse → Aktualisieren] **Shortcut:** .blockquote.exercise[`Alt + F5`] -- .half-br[] **Achtung:** PivotTables aktualisieren sich **nicht automatisch** -- .half-br[] **Alle PivotTables gleichzeitig aktualisieren:** .blockquote.exercise[Daten → Alle aktualisieren] --- ## Automatische Aktualisierung beim Öffnen **Menüpfad:** .blockquote.exercise[Rechtsklick auf PivotTable → PivotTable-Optionen → Daten] -- <br> **Wichtige Einstellung:** ``` ✅ Daten beim Öffnen der Datei aktualisieren ``` --- ## Zusammenspiel: PivotTable + Tabelle + Power Query **Workflow:** ``` Rohdaten → Power Query (Bereinigung) → Excel-Tabelle/Verbindung → PivotTable ``` -- <br> **Vorteil:** .half-br[] | Ebene | Automatisierung | |-------|-------------------| | Power Query | Bereinigt neue Rohdaten automatisch | | Tabelle | Erweitert sich automatisch bei neuen Zeilen | | PivotTable | Muss nur noch **aktualisiert** werden |