SVERWEIS in Power Query: Abfragen zusammenführen

Was SVERWEIS mit einer Formel je Zeile erledigt, macht Power Query mit einem Join: Zu jeder Bestellung den Preis, zu jedem Umsatz die Region. Der Befehl heißt Abfragen zusammenführen und braucht keine Spaltennummer.

Kurz gesagt: Beide Tabellen als Abfrage laden. In der ersten Abfrage die Schlüsselspalte markieren, Start > Abfragen zusammenführen, zweite Abfrage und deren Schlüsselspalte wählen, Verknüpfungsart Linke äußere Verknüpfung. Dann die neue Spalte über das Erweitern-Symbol aufklappen und nur die gewünschten Spalten anhaken.

Probier es gleich aus

Im Blatt stehen links die Bestellungen, rechts die Preisliste. Beide sind als Abfrage geladen. Hol zu jeder Bestellung den Preis, ganz ohne Formel.

Aufgabe Links stehen die Bestellungen, rechts die Preisliste (beide als Abfrage geladen). Hol zu jeder Bestellung den Preis, so wie mit SVERWEIS: Abfragen zusammenführen über Artikel, dann nur die Spalte Preis erweitern.

ABCDE
1 Artikel Menge Artikel Preis
2 A-100 5 B-200 12
3 C-300 2 A-100 4
4 B-200 10 D-400 30
5 A-100 3 C-300 7
6 D-400 1 E-500 9
7 B-200 4

So funktioniert Zusammenführen

Zusammenführen arbeitet in zwei Schritten, die du unter Angewendete Schritte auch getrennt siehst:

  1. Zusammengeführte Abfragen (Table.NestedJoin): Jede Zeile der ersten Abfrage bekommt eine neue Spalte. Darin steckt als kleine Tabelle alles aus der zweiten Abfrage, was zum Schlüssel passt. In der Vorschau steht dort nur „Table“.
  2. Erweitern (Table.ExpandTableColumn): Du wählst, welche Spalten aus dieser kleinen Tabelle übernommen werden. Die Schlüsselspalte der zweiten Abfrage lässt du weg, die hast du ja schon.
SVERWEISPower Query
SuchkriteriumSchlüsselspalte der ersten Abfrage
Matrixzweite Abfrage
Spaltenindexangehakte Spalten beim Erweitern, per Name statt Nummer
FALSCH (genaue Übereinstimmung)Join sucht immer genau
#NV bei fehlendem Treffernull

Beim Erweitern bietet Excel die Option Ursprünglichen Spaltennamen als Präfix verwenden an. Ist sie aktiv, heißt die Spalte danach zum Beispiel „Preise.Preis“. Nimmst du den Haken raus, bleibt es bei „Preis“, so wie in der Übung.

Die Join-Art

Im Dialog wählst du die Verknüpfungsart. Für den SVERWEIS-Fall ist es immer die linke äußere: alle Zeilen aus der ersten Abfrage, passende aus der zweiten. Bestellungen ohne Preis bleiben also stehen und bekommen null. Andere Arten wie die innere Verknüpfung behalten nur Zeilen mit Treffer, eine Anti-Verknüpfung nur Zeilen ohne Treffer. Damit findest du zum Beispiel Kundennummern, die in der Stammdatenliste fehlen.

Noch eine Übung: mehrere Spalten und ein fehlender Kunde

Hier holst du zwei Spalten auf einmal. Eine Kundennummer gibt es in der Kundenliste nicht. Wo SVERWEIS #NV zeigen würde, steht nach dem Zusammenführen null.

Aufgabe Hol zu jedem Umsatz Firma und Region aus der Abfrage Kunden. Die Kundennummer K-9 fehlt in Kunden; diese Zeile soll trotzdem stehen bleiben (mit null).

ABCDEF
1 Kundennr Umsatz Kundennr Firma Region
2 K-1 1200 K-2 Roth GmbH Süd
3 K-3 800 K-4 Weber KG Nord
4 K-2 450 K-1 Schmidt AG Nord
5 K-9 300 K-3 Vogel OHG West
6 K-1 990
7 K-4 610

Diese Übung gehört zu Premium.

Mit Premium öffnest du alle Übungen jeder Lektion, übst unbegrenzt mit neuen Aufgaben und kannst den Abschlusstest mit Zertifikat machen.

Premium ansehen Schon Premium? Anmelden

Die erste Übung dieser Lektion ist kostenlos.

Ein wichtiger Unterschied: mehrere Treffer

SVERWEIS und XVERWEIS liefern immer den ersten Treffer. Ein Join liefert alle. Steht ein Artikel zweimal in der Preisliste, wird die Bestellung beim Erweitern zu zwei Zeilen. Das ist kein Fehler, sondern zeigt doppelte Schlüssel in den Stammdaten. Entferne sie dort vorher mit Duplikate entfernen, wenn jede Bestellung genau einmal vorkommen soll.

Der M-Code der ersten Übung

= Table.NestedJoin(Quelle, {"Artikel"}, Preise, {"Artikel"}, "Preise", JoinKind.LeftOuter)
= Table.ExpandTableColumn(#"Zusammengeführte Abfragen", "Preise", {"Preis"}, {"Preis"})

Im ersten Schritt stehen beide Schlüsselspalten in geschweiften Klammern, weil ein Join auch über mehrere Spalten gehen kann. Der Name der zweiten Abfrage steht ohne Anführungszeichen, denn er verweist auf die Abfrage selbst. Im zweiten Schritt nennt die erste Liste die Spalten, die aus der kleinen Tabelle übernommen werden, die zweite Liste ihre neuen Namen.

Typische Fehler

Alle Werte sind null

Die Schlüssel passen nicht zusammen. Häufige Gründe: Leerzeichen am Rand, unterschiedliche Groß- und Kleinschreibung oder eine Spalte ist Text, die andere Zahl. Bereinige beide Schlüsselspalten und setz denselben Datentyp.

Die Zeilenzahl wächst

Der Schlüssel ist in der zweiten Abfrage nicht eindeutig, siehe oben.

Spalte heißt „Preise.Preis“

Beim Erweitern war die Präfix-Option aktiv. Benenn die Spalte um oder nimm beim nächsten Mal den Haken raus.

Auf Englisch

Im englischen Excel heißt der Befehl Merge Queries (Home > Combine), die Join-Art Left Outer (all from first, matching from second), und beim Erweitern heißt die Option Use original column name as prefix. Wer englische Anleitungen sucht, findet das Thema meist unter „vlookup in power query“.

In welchen Excel-Versionen geht das?

Abfragen zusammenführen gibt es im Power Query-Editor von Excel 2016 und neuer für Windows und in Microsoft 365, auf dem Mac nur mit Microsoft 365. Mehr auf der Einstiegsseite zu Power Query.

Häufige Fragen

Ist Zusammenführen schneller als SVERWEIS?

Bei großen Listen meist angenehmer, weil keine tausend Formeln im Blatt neu berechnet werden. Der Join läuft einmal beim Aktualisieren.

Kann ich über mehrere Spalten verknüpfen?

Ja. Markiere im Dialog in beiden Tabellen nacheinander mehrere Spalten mit gedrückter Strg-Taste, in derselben Reihenfolge.

Kann das Ergebnis eine eigene Abfrage werden?

Ja. Unter Abfragen zusammenführen gibt es eine Variante, die das Ergebnis als neue, dritte Abfrage anlegt. Die erste Abfrage bleibt dann unverändert.

Als Nächstes lernen: Entpivotieren

Kreuztabellen mit einer Spalte je Monat in eine auswertbare Liste umbauen.

Entpivotieren üben

Schreib uns

Sprache wählen

Wähle deine bevorzugte Sprache