Power QueryWENN-Bedingungen mit UND- und ODER-Verknüpfungen

Wie Sie in Power Query Daten anhand von Bedingungen auswerten – vergleichbar mit der Excel-Funktion WENN(). Mit einfachen und verschachtelten UND- und ODER-Abfragen.

WENN-Bedingungen gehören zu den wichtigsten Funktionen in Excel – und auch in Power Query! Wenn Sie Daten transformieren, möchten Sie oft bestimmte Zeilen abhängig von Bedingungen verändern oder neue Spalten erstellen.

In diesem Beitrag erfahren Sie anhand eines praktischen Beispiels, wie Sie einfache, verschachtelte, sowie UND- und ODER-Verknüpfungen in Power Query umsetzen.

Das Ausgangsbeispiel

Zur Illustration finden Sie in der folgenden Abbildung eine Tabelle mit Umsätzen aus verschiedenen Regionen.

Beispiel: Daten zur Analyse in Power Query

Ziel: Sie möchten in Power Query eine neue Spalte erstellen mit dem Text:

  • „Top-Umsatz“, wenn der Umsatz über 10.000 EUR liegt und der Status „offen“ ist.
  • „Normal“, wenn nur eine der beiden Bedingungen erfüllt ist.
  • „Unwichtig“, wenn keine Bedingung erfüllt ist.

Laden Sie zunächst die Daten in den Power-Query-Editor. Markieren Sie eine Zelle in der Tabelle und aktivieren Sie im Menüband die Befehlsfolge Registerkarte Daten > Befehlsgruppe Daten abrufen und transformieren > Befehl Aus Tabelle/Bereich.

Daten in Power Query importieren

Es öffnet sich das Dialogfeld Tabelle erstellen. Da unsere Tabelle eine Kopfzeile beinhaltet, vergewissern Sie sich das Kontrollkästchen Tabelle hat Überschriften aktiviert ist. Bestätigen Sie Ihre Einstellungen, indem Sie das Dialogfeld durch Klick auf OK schließen.

Auswahl der zu importierenden Daten

Die Daten werden daraufhin in den Power-Query-Editor geladen.

Daten nach dem Import in Power Query

Die Funktion „Bedingte Spalte“ – einfach, aber begrenzt

Um einfache WENN-Bedingungen in Power Query zu erstellen, können Sie die Funktion Bedingte Spalte verwenden.

Die Funktion Bedingte Spalte finden Sie im Power-Query-Menü unter Spalte hinzufügen > Bedingte Spalte. Sie erlaubt es, einfache WENN-Bedingungen ohne Programmierung zu erstellen.

Power-Query-Funktion „Bedingte Spalte“

Vorteile:

  • Ideal für einfache Vergleiche (zum Beispiel „Wenn Umsatz > 10000, dann …“)
  • Schneller Einstieg, auch ohne M-Code-Kenntnisse

Grenzen:

  • Nur eine Bedingung pro Zeile möglich
  • Keine UND-/ODER-Verknüpfungen
  • Verschachtelungen nur sehr eingeschränkt möglich

Fazit:

Für einfache Szenarien hilfreich – bei komplexeren Anforderungen stoßen Sie schnell an Grenzen.

WENN-Bedingungen im M-Code – So geht’s mit Benutzerdefinierter Spalte

Um mehr Flexibilität zu haben, nutzen Sie in Power Query den Befehl Spalte hinzufügen > Benutzerdefinierte Spalte. Dort geben Sie direkt den M-Code ein.

Benutzerdefinierte Spalte in Power Query einfügen

Einfache WENN-Bedingung

Sie möchten eine neue Spalte erstellen, die alle Umsätze über 10.000 EUR als „Top-Umsatz“ kennzeichnet – alle anderen als „Normal“.

Erfassen Sie den folgenden M-Code im Dialogfeld Benutzerdefinierte Spalte:

= if [Umsatz] > 10000 then "Top-Umsatz" else "Normal"

Eingabe der WENN-Funktion in Power Query: if …

Erläuterung: Diese Abfrage prüft nur die Umsatzhöhe – der Status wird noch nicht berücksichtigt.

So funktioniert der Code Schritt für Schritt:

  • If: Der Ausdruck beginnt mit dem Schlüsselwort if. Damit sagen Sie Power Query: Prüfe eine Bedingung für jede Zeile in der Tabelle.
  • [Umsatz] > 10000: Dies ist die eigentliche Bedingung. Hier wird geprüft, ob der Wert in der Spalte „Umsatz“ in der jeweiligen Zeile größer als 10000 ist. Wichtig: Spaltennamen müssen in eckige Klammern gesetzt werden.
    Tipp: Per Doppelklick können Sie Spaltennamen direkt in den M-Code übernehmen. Doppelklicken Sie einfach am rechten Rand bei Verfügbare Spalten auf den entsprechenden Spaltennamen.
  • then "Top-Umsatz": Wenn die Bedingung erfüllt ist, gibt Power Query in der neuen Spalte den Text „Top-Umsatz“ aus.
    Hinweis: Texte müssen, analog zum klassischen Excel bei Formeln, in Anführungszeichen gesetzt werden.
  • else "Normal": Wenn die Bedingung nicht erfüllt ist (also Umsatz kleiner oder gleich 10000), wird stattdessen der Text „Normal“ eingetragen.

Was passiert konkret bei den Beispieldaten?

  • 12000 > 10000 → wahr → „Top-Umsatz“
  • 8000 > 10000 → falsch → „Normal“
  • 15000 > 10000 → wahr → „Top-Umsatz“
  • 6000 > 10000 → falsch → „Normal“
  • 7000 > 10000 → falsch → „Normal“

Nur bei Zeilen mit Umsatz > 10000 erscheint „Top-Umsatz“, alle anderen Zeilen erhalten „Normal“ als Ergebnis.

Bestätigen Sie Ihre Einstellungen, indem Sie das Dialogfeld durch Klick auf OK schließen. Sie bekommen daraufhin die neue Spalte mit der WENN-Bedingung angezeigt.

Ergebnis der einfachen if-Auswertung

WENN mit UND-Verknüpfung

Jetzt wollen wir „Top-Umsatz“ nur dann ausgeben, wenn der Umsatz über 10.000 EUR liegt UND der Status = „offen“ ist.

Erfassen Sie dazu den folgenden M-Code im Dialogfeld Benutzerdefinierte Spalte:

= if [Umsatz] > 10000 and [Status] = "offen" then "Top-Umsatz" else "Normal"

WENN-Bedingung mit mehreren Abfragekriterien (UND) in Power Query

Erläuterung: Nur wenn beide Bedingungen erfüllt sind, gibt die Spalte „Top-Umsatz“ zurück. Sonst wird „Normal“ angezeigt.

Ergebnis der if-Auswertung mit zwei kombinierten Bedingungen

WENN mit ODER-Verknüpfung

Nun möchten Sie alle Zeilen, bei denen entweder der Umsatz hoch ist ODER der Status „offen“, mit „Normal“ kennzeichnen – und alle anderen mit „Unwichtig“.

Erfassen Sie daher den folgenden M-Code im Dialogfeld Benutzerdefinierte Spalte:

= if [Umsatz] > 10000 or [Status] = "offen" then "Normal" else "Unwichtig"

WENN-Bedingung mit alternativen Abfragekriterien (ODER) in Power Query

Erläuterung: Bereits eine der beiden Bedingungen reicht aus, damit „Normal“ ausgegeben wird.

Ergebnis der if-Auswertung mit zwei alternativen Bedingungen

Verschachtelte Bedingung mit UND und ODER kombiniert

Schließlich möchten Sie alle Bedingungen in einer einzigen Spalte kombinieren:

  • Top-Umsatz, wenn Umsatz > 10.000 UND Status = „offen“
  • Normal, wenn nur eine der Bedingungen erfüllt ist
  • Unwichtig, wenn keine Bedingung erfüllt ist

Erfassen Sie dazu den folgenden M-Code im Dialogfeld Benutzerdefinierte Spalte:

= if [Umsatz] > 10000 and [Status] = "offen" then "Top-Umsatz"
else if [Umsatz] > 10000 or [Status] = "offen" then "Normal"
else "Unwichtig"

Verschachtelte WENN-Bedingung mit mehreren Abfragekriterien (UND/ODER) in Power Query

Erläuterung: Die Bedingungen werden schrittweise geprüft – die erste erfüllte Bedingung wird übernommen.

Ergebnis der if-Auswertung mit mehreren verschachtelten Bedingungen

Zusammenfassung

  • if ... then ... else: Grundstruktur für Bedingungen im M-Code
  • and: UND-Verknüpfung – beide Bedingungen müssen zutreffen
  • or: ODER-Verknüpfung – eine Bedingung reicht aus
  • „Bedingte Spalte“: Einfache grafische Lösung, aber limitiert für komplexe Prüfungen
  • Benutzerdefinierte Spalte: Ideal für komplexe Logik, flexible Verschachtelung und Kombinationen möglich

Tipp zum Schluss

Power Query ist case-sensitive – achten Sie auf exakte Groß- und Kleinschreibung! Schreiben Sie "offen" exakt so, wie es in den Quelldaten steht, sonst wird die Bedingung nicht erfüllt.

Dazu im Management-Handbuch

Weiterlesen

Vorlagen nutzen

Excel-Tipps