Tutorial: Ein Datenschnitt für mehrere Pivot-Tabellen aus unterschiedlichen Datenquellen
Hier ist ein ausführliches Tutorial, wie du in Excel einen einzigen Datenschnitt (Slicer) nutzt, um mehrere Pivot-Tabellen zu steuern, selbst wenn diese aus unterschiedlichen Datenquellen stammen.
Standardmäßig können Datenschnitte in Excel nur Pivot-Tabellen steuern, die auf derselben Datenquelle (dem gleichen Pivot-Cache) basieren. Wenn du jedoch Daten aus verschiedenen Tabellen hast, hilft uns das Excel-Datenmodell (Power Pivot), diese miteinander zu verknüpfen.
Voraussetzung
Du hast zwei oder mehr Tabellen (z. B. "Umsatz_2023" und "Umsatz_2024"), die ein gemeinsames Feld haben (z. B. "Verkäufer", "Region" oder "Produktkategorie"), nach dem du filtern möchtest.
Schritt 1: Daten in "Formatierte Tabellen" umwandeln
Damit Excel die Daten im Datenmodell verarbeiten kann, müssen sie als Tabelle formatiert sein.
- Markiere deine erste Datenquelle.
- Drücke Strg + T (oder Einfügen > Tabelle).
- Gib der Tabelle unter dem Reiter Tabellenentwurf einen Namen (z. B.
Tabelle2023). - Wiederhole dies für alle weiteren Datenquellen (z. B.
Tabelle2024).
Schritt 2: Eine Hilfstabelle (Kalender- oder Mapping-Tabelle) erstellen
Dies ist der wichtigste Schritt. Wir benötigen eine "Brücke", die die eindeutigen Werte enthält, nach denen gefiltert werden soll.
- Erstelle ein neues Tabellenblatt.
- Kopiere alle Werte des Filter-Kriteriums (z. B. alle Verkäufernamen) aus allen Quellen untereinander in eine Spalte.
- Markiere diese Liste und gehe auf Daten > Duplikate entfernen, damit jeder Wert nur einmal vorkommt.
- Formatiere auch diese Liste als Tabelle (Strg + T) und nenne sie z. B.
Filter_Verkäufer.
Schritt 3: Tabellen zum Datenmodell hinzufügen
- Klicke in deine erste Tabelle.
- Gehe zum Reiter Power Pivot (falls nicht sichtbar, unter Optionen > Add-Ins > COM-Add-Ins aktivieren) und klicke auf Zu Datenmodell hinzufügen.
- Schließe das Power Pivot Fenster und wiederhole den Vorgang für die zweite Datentabelle und die Hilfstabelle (
Filter_Verkäufer).
Schritt 4: Beziehungen erstellen
Jetzt verknüpfen wir die Tabellen über die Hilfstabelle.
- Klicke im Power Pivot Fenster oben rechts auf Diagrammansicht.
- Du siehst nun deine Tabellen als Boxen.
- Ziehe per Drag & Drop das Feld "Verkäufer" aus der Tabelle
Filter_Verkäuferzum Feld "Verkäufer" in derTabelle2023. - Ziehe dasselbe Feld aus
Filter_Verkäuferzum Feld "Verkäufer" in derTabelle2024.- Wichtig: Die Verbindung muss von der Hilfstabelle (1-Seite) zu den Datentabellen (n-Seite) verlaufen.
Schritt 5: Pivot-Tabellen aus dem Datenmodell erstellen
- Klicke im Power Pivot Fenster auf PivotTable.
- Wähle aus, wo die Pivot-Tabelle platziert werden soll.
- Erstelle deine erste Pivot-Tabelle mit Feldern aus
Tabelle2023. - Erstelle eine zweite Pivot-Tabelle (Einfügen > PivotTable > Aus Datenmodell) mit Feldern aus
Tabelle2024.
Schritt 6: Den gemeinsamen Datenschnitt hinzufügen
Nun kommt der entscheidende Moment:
- Klicke eine der Pivot-Tabellen an.
- Gehe auf PivotTable-Analyse > Datenschnitt einfügen.
- Klicke im Fenster oben auf den Reiter Alle (statt "Aktiv").
- Suche deine Hilfstabelle (
Filter_Verkäufer) und setze den Haken bei "Verkäufer". - Klicke OK.
Schritt 7: Datenschnitt mit beiden Pivot-Tabellen verbinden
Aktuell steuert der Datenschnitt wahrscheinlich nur eine Tabelle.
- Klicke mit der rechten Maustaste auf den Datenschnitt.
- Wähle Berichtsverbindungen....
- Setze den Haken bei allen Pivot-Tabellen, die auf diesem Datenmodell basieren.
- Klicke OK.
Ergebnis
Wenn du jetzt einen Verkäufer im Datenschnitt auswählst, filtern sich beide Pivot-Tabellen gleichzeitig, obwohl sie aus unterschiedlichen Quellen stammen. Die Hilfstabelle fungiert als Master-Filter für das gesamte Modell.
Alternative: Lösung per VBA (Makro)
Falls du Power Pivot nicht nutzen möchtest, kannst du die Synchronisation per VBA lösen. Das ist jedoch fehleranfälliger. Hier ein kurzer Code-Schnipsel für das Arbeitsblatt:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim s1 As SlicerCache
Dim s2 As SlicerCache
Dim i As Long
Set s1 = ActiveWorkbook.SlicerCaches("Datenschnitt_Verkäufer1")
Set s2 = ActiveWorkbook.SlicerCaches("Datenschnitt_Verkäufer2")
On Error Resume Next
Application.EnableEvents = False
For i = 1 To s1.SlicerItems.Count
s2.SlicerItems(i).Selected = s1.SlicerItems(i).Selected
Next i
Application.EnableEvents = True
End Sub
Hinweis: Die Power Pivot Methode (Schritte 1-7) ist die sauberere und performantere Lösung.