In einer Excel-Mappe wird pro Monat eine neue Tabelle erstellt. Die Tabellen sollen automatisch zusammengeführt und ausgewertet werden, wenn eine neue Monatstabelle hinzukommt. Mit Power Query ist das kein Problem. Ich wähle eine Methode, die das Zusammenführen der Tabellen erledigt und zwar unabhängig von ihrer Anzahl oder ihrem Namen. Was aber, wenn neue Monatstabellen mehr Spalten aufweisen? Auch hierfür bietet Power Query eine Lösung.
Alle Tabellen einer Mappe automatisch einlesen
Um alle Tabellen der Mappe einzulesen, gehe ich wie folgt vor:
- Ich wähle die Befehlsfolge Daten > Daten abrufen > Aus Datei > Aus Excel-Arbeitsmappe.
- Um flexibel zu bleiben und mich nicht auf einzelne konkrete Tabellen festzulegen, markiere ich den Dateinamen [1] und klicke auf Daten transformieren [2].
- Im Power Query-Editor filtere ich nun die Liste der angezeigten Tabellen und Arbeitsblätter so, dass nur die Tabellen ausgewählt werden. Ich klicke auf den Pfeil in der Spalte Kind [1] und wähle nur den Eintrag Table aus [2].
- Per Rechtsklick in die Spalte Data wähle ich Andere Spalten entfernen [3].
Nur Table-Zeilen und nur die Spalte Data zur Weiterverarbeitung auswählen
- Anschließend kann ich die Daten per Klick auf den Doppelpfeil in der Spalte Data entpacken. Hierbei werden mir alle Spalten angezeigt, die aktuell zur Verfügung stehen.
- Dieser Schritt sorgt später allerdings für Probleme. Wie oben im M-Code zu sehen ist, werden alle derzeit verfügbaren Spalten explizit genannt. Kommt im nächsten Monat wegen einer Änderung eine neue Spalte hinzu, würde sie beim Zusammenführen nicht berücksichtigt. Daher lösche ich den Schritt Erweiterte Data wieder.
So werden auch neu hinzukommende Spalten berücksichtigt
Kommen in einem Monatsblatt neue Spalten hinzu, sollen diese berücksichtigt werden. Das löse ich so:
- Ich klicke auf das fx neben der Bearbeitungsleiste [1] und erzeuge so einen neuen benutzerdefinierten Schritt, der sich auf den vorherigen namens Andere entfernte Spalten bezieht.
- Auf die Spalte Data des Schrittes wende ich die Funktion Table.Combine an, indem ich den M-Code – wie unter [2] in der gelben Markierung gezeigt – erweitere.
Das Ergebnis kann sich sehen lassen: Kommt der Monat Januar 2023 mit einer zusätzlichen Spalte namens Umlage, wird diese automatisch beim Zusammenführen mit aufgenommen.
Tipp: Bei der Arbeit im Power Query-Editor sollte die Bearbeitungsleiste immer eingeschaltet bleiben. So lassen sich rechtzeitig »hartkodierte« Dinge erkennen und frühzeitig ausmerzen.
Ausblick
Die hier beschriebene Methode zum Anfügen von Tabellen aus einer Mappe ist dynamisch in Hinblick auf die Anzahl der Tabellen und deren Spaltenanzahl. Allerdings geht dabei die Information verloren, aus welcher Tabelle die Daten stammen – hier die Spalte Name mit der Information zu Jahr und Monat.
Wie auch das einfach möglich ist, zeige ich in Teil 2 zu diesem Blogbeitrag.
Wer in Power Query Wissen aufbauen oder ausbauen möchte, findet hier passende Kurse:
- Daten automatisiert importieren, aufbereiten und abgleichen
- Mit eigenen Abfrage-Tools die Datenaufbereitung optimieren