Power Query: If-Anweisung - verschachtelte Ifs & mehrere Bedingungen
In Excel Power Query ist die IF-Anweisung eine der beliebtesten Funktionen, um eine Bedingung zu überprüfen und einen bestimmten Wert zurückzugeben, je nachdem, ob das Ergebnis WAHR oder FALSCH ist. Es gibt einige Unterschiede zwischen dieser IF-Anweisung und der IF-Funktion von Excel. In diesem Tutorial werde ich die Syntax dieser IF-Anweisung und einige einfache sowie komplexe Beispiele vorstellen.
Grundlegende Syntax der IF-Anweisung in Power Query
Power Query IF-Anweisung mit einer bedingten Spalte
Power Query IF-Anweisung durch Schreiben des M-Codes
Grundlegende Syntax der IF-Anweisung in Power Query
In Power Query lautet die Syntax:
- logischer_test: Die Bedingung, die Sie testen möchten.
- wert_wenn_wahr: Der Wert, der zurückgegeben wird, wenn das Ergebnis WAHR ist.
- wert_wenn_falsch: Der Wert, der zurückgegeben wird, wenn das Ergebnis FALSCH ist.
In Excel Power Query gibt es zwei Möglichkeiten, diese Art von bedingter Logik zu erstellen:
- Verwenden der Funktion „Bedingte Spalte“ für einige grundlegende Szenarien;
- Schreiben von M-Code für fortgeschrittene Szenarien.
Im folgenden Abschnitt werde ich über einige Beispiele für die Verwendung dieser IF-Anweisung sprechen.
Power Query IF-Anweisung mit einer bedingten Spalte
Beispiel 1: Grundlegende IF-Anweisung
Hier werde ich vorstellen, wie man diese IF-Anweisung in Power Query verwendet. Zum Beispiel habe ich den folgenden Produktbericht: Wenn der Produktstatus „Alt“ ist, wird ein Rabatt von 50 % angezeigt; wenn der Produktstatus „Neu“ ist, wird ein Rabatt von 20 % angezeigt, wie in den folgenden Screenshots gezeigt.
1. Wählen Sie die Datentabelle aus dem Arbeitsblatt aus, dann klicken Sie in Excel 2019 und Excel 365 auf Daten > Aus Tabelle/Bereich, siehe Screenshot:
Hinweis: In Excel 2016 und Excel 2021 klicken Sie auf Daten > Aus Tabelle, siehe Screenshot:
2. Dann klicken Sie im geöffneten Power Query Editor-Fenster auf Spalte hinzufügen > Bedingte Spalte, siehe Screenshot:
3. Im aufgepoppten Fenster „Bedingte Spalte hinzufügen“ führen Sie bitte die folgenden Aktionen aus:
- Neuer Spaltenname: Geben Sie einen Namen für die neue Spalte ein;
- Geben Sie dann die benötigten Kriterien an. Zum Beispiel lege ich fest: Wenn Status gleich Alt, dann 50 %, sonst 20 %;
- Spaltenname: Die Spalte, gegen die Sie Ihre IF-Bedingung auswerten möchten. Hier wähle ich Status.
- Operator: Zu verwendende bedingte Logik. Die Optionen unterscheiden sich je nach Datentyp des ausgewählten Spaltennamens.
- Text: beginnt mit, beginnt nicht mit, gleich, enthält usw.
- Zahlen: gleich, ungleich, größer als oder gleich usw.
- Datum: vor, nach, gleich, ungleich usw.
- Wert: Der spezifische Wert, mit dem Sie Ihre Auswertung vergleichen möchten. Zusammen mit dem Spaltennamen und dem Operator bildet er eine Bedingung.
- Ausgabe: Der Wert, der zurückgegeben wird, wenn die Bedingung erfüllt ist.
- Sonst: Ein anderer Wert, der zurückgegeben wird, wenn die Bedingung falsch ist.
4. Klicken Sie dann auf die Schaltfläche OK, um zum Power Query Editor-Fenster zurückzukehren. Nun wurde eine neue Rabattspalte hinzugefügt, siehe Screenshot:
5. Wenn Sie die Zahlen als Prozentsatz formatieren möchten, klicken Sie einfach auf das ABC123-Symbol im Kopf der Rabattspalte und wählen Sie Prozentsatz wie benötigt, siehe Screenshot:
6. Klicken Sie abschließend auf Start > Schließen und Laden > Schließen und Laden, um diese Daten in ein neues Arbeitsblatt zu laden.
Beispiel 2: Komplexe IF-Anweisung
Mit dieser Option „Bedingte Spalte“ können Sie auch zwei oder mehr Bedingungen in das Dialogfeld „Bedingte Spalte hinzufügen“ einfügen. Gehen Sie wie folgt vor:
1. Wählen Sie die Datentabelle aus und gehen Sie durch Klicken auf Daten > Aus Tabelle/Bereich zum Power Query Editor-Fenster. Klicken Sie im neuen Fenster auf Spalte hinzufügen > Bedingte Spalte.
2. Führen Sie im aufgepoppten Dialogfeld „Bedingte Spalte hinzufügen“ bitte die folgenden Aktionen aus:
- Geben Sie einen Namen für die neue Spalte in das Textfeld Neuer Spaltenname ein;
- Geben Sie die ersten Kriterien in das erste Kriterienfeld ein und klicken Sie dann auf die Schaltfläche Klausel hinzufügen, um weitere Kriterienfelder hinzuzufügen, falls nötig.
3. Nachdem Sie die Kriterien abgeschlossen haben, klicken Sie auf die Schaltfläche OK, um zum Power Query Editor-Fenster zurückzukehren. Nun erhalten Sie eine neue Spalte mit dem entsprechenden Ergebnis, das Sie benötigen. Siehe Screenshot:
4. Klicken Sie abschließend auf Start > Schließen und Laden > Schließen und Laden, um diese Daten in ein neues Arbeitsblatt zu laden.
Power Query IF-Anweisung durch Schreiben des M-Codes
Normalerweise ist die bedingte Spalte hilfreich für einige grundlegende Szenarien. Manchmal müssen Sie jedoch möglicherweise mehrere Bedingungen mit UND- oder ODER-Logik verwenden. In diesem Fall müssen Sie M-Code innerhalb einer benutzerdefinierten Spalte für komplexere Szenarien schreiben.
Beispiel 1: Grundlegende IF-Anweisung
Nehmen wir das erste Beispiel: Wenn der Produktstatus „Alt“ ist, wird ein Rabatt von 50 % angezeigt; wenn der Produktstatus „Neu“ ist, wird ein Rabatt von 20 % angezeigt. Um den M-Code zu schreiben, gehen Sie wie folgt vor:
1. Wählen Sie die Tabelle aus und klicken Sie auf Daten > Aus Tabelle/Bereich, um zum Power Query Editor-Fenster zu gelangen.
2. Klicken Sie im geöffneten Fenster auf Spalte hinzufügen > Benutzerdefinierte Spalte, siehe Screenshot:
3. Führen Sie im aufgepoppten Dialogfeld „Benutzerdefinierte Spalte“ bitte die folgenden Aktionen aus:
- Geben Sie einen Namen für die neue Spalte in das Textfeld Neuer Spaltenname ein;
- Geben Sie dann diese Formel ein: if [Status] = "Alt " then "50% " else "20% " in das Formelfeld der benutzerdefinierten Spalte.
4. Klicken Sie dann auf OK, um dieses Dialogfeld zu schließen. Nun erhalten Sie das folgende Ergebnis, das Sie benötigen:
5. Klicken Sie abschließend auf Start > Schließen und Laden > Schließen und Laden, um diese Daten in ein neues Arbeitsblatt zu laden.
Beispiel 2: Komplexe IF-Anweisung
Um Unterbedingungen zu testen, können Sie normalerweise mehrere IF-Anweisungen verschachteln. Zum Beispiel habe ich die folgende Datentabelle. Wenn das Produkt „Kleid“ ist, geben Sie einen Rabatt von 50 % auf den Originalpreis; wenn das Produkt „Pullover“ oder „Hoodie“ ist, geben Sie einen Rabatt von 20 % auf den Originalpreis; und andere Produkte behalten den Originalpreis bei.
1. Wählen Sie die Datentabelle aus und klicken Sie auf Daten > Aus Tabelle/Bereich, um zum Power Query Editor-Fenster zu gelangen.
2. Klicken Sie im geöffneten Fenster auf Spalte hinzufügen > Benutzerdefinierte Spalte. Führen Sie im geöffneten Dialogfeld „Benutzerdefinierte Spalte“ bitte die folgenden Aktionen aus:
- Geben Sie einen Namen für die neue Spalte in das Textfeld Neuer Spaltenname ein;
- Geben Sie dann die folgende Formel in das Formelfeld der benutzerdefinierten Spalte ein.
- = if [Produkt] = "Kleid" then [Preis] * 0.5 else
if [Produkt] = "Pullover" then [Preis] * 0.8 else
if [Produkt] = "Hoodie" then [Preis] * 0.8
else [Preis]
3. Klicken Sie dann auf die Schaltfläche OK, um zum Power Query Editor-Fenster zurückzukehren, und Sie erhalten eine neue Spalte mit den benötigten Daten, siehe Screenshot:
4. Klicken Sie abschließend auf Start > Schließen und Laden > Schließen und Laden, um diese Daten in ein neues Arbeitsblatt zu laden.
Die ODER-Logik führt mehrere logische Tests durch, und das wahre Ergebnis wird zurückgegeben, wenn einer der logischen Tests wahr ist. Die Syntax lautet:
Angenommen, ich habe die folgende Tabelle, jetzt möchte ich eine neue Spalte anzeigen: Wenn das Produkt „Kleid“ oder „T-Shirt“ ist, dann ist die Marke „AAA“, die Marke der anderen Produkte ist „BBB“.
1. Wählen Sie die Datentabelle aus und klicken Sie auf Daten > Aus Tabelle/Bereich, um zum Power Query Editor-Fenster zu gelangen.
2. Klicken Sie im geöffneten Fenster auf Spalte hinzufügen > Benutzerdefinierte Spalte, im geöffneten Dialogfeld „Benutzerdefinierte Spalte“ führen Sie bitte die folgenden Aktionen aus:
- Geben Sie einen Namen für die neue Spalte in das Textfeld Neuer Spaltenname ein;
- Geben Sie dann die folgende Formel in das Formelfeld der benutzerdefinierten Spalte ein.
- = if [Produkt] = "Kleid" or [Produkt] = "T-Shirt" then "AAA"
else "BBB"
3. Klicken Sie dann auf die Schaltfläche OK, um zum Power Query Editor-Fenster zurückzukehren, und Sie erhalten eine neue Spalte mit den benötigten Daten, siehe Screenshot:
4. Klicken Sie abschließend auf Start > Schließen und Laden > Schließen und Laden, um diese Daten in ein neues Arbeitsblatt zu laden.
Die UND-Logik führt mehrere logische Tests innerhalb einer einzigen IF-Anweisung durch. Alle Tests müssen wahr sein, damit das wahre Ergebnis zurückgegeben wird. Wenn einer der Tests falsch ist, wird das falsche Ergebnis zurückgegeben. Die Syntax lautet:
Nehmen wir die obigen Daten als Beispiel. Ich möchte eine neue Spalte anzeigen: Wenn das Produkt „Kleid“ ist und die Bestellung größer als 300 ist, dann wende einen Rabatt von 50 % auf den Originalpreis an; andernfalls behalte den Originalpreis bei.
1. Wählen Sie die Datentabelle aus und klicken Sie auf Daten > Aus Tabelle/Bereich, um zum Power Query Editor-Fenster zu gelangen.
2. Klicken Sie im geöffneten Fenster auf Spalte hinzufügen > Benutzerdefinierte Spalte. Führen Sie im geöffneten Dialogfeld „Benutzerdefinierte Spalte“ bitte die folgenden Aktionen aus:
- Geben Sie einen Namen für die neue Spalte in das Textfeld Neuer Spaltenname ein;
- Geben Sie dann die folgende Formel in das Formelfeld der benutzerdefinierten Spalte ein.
- = if [Produkt] ="Kleid" and [Bestellung] > 300 then [Preis]*0.5
else [Preis]
3. Klicken Sie dann auf die Schaltfläche OK, um zum Power Query Editor-Fenster zurückzukehren, und Sie erhalten eine neue Spalte mit den benötigten Daten, siehe Screenshot:
4. Klicken Sie abschließend auf Start > Schließen und Laden > Schließen und Laden, um diese Daten in ein neues Arbeitsblatt zu laden.
IF-Anweisung mit ODER- und UND-Logik
In Ordnung, die vorherigen Beispiele sind leicht zu verstehen. Jetzt machen wir es schwieriger. Sie können UND und ODER kombinieren, um jede Bedingung zu bilden, die Sie sich vorstellen können. In diesem Typ können Sie Klammern in die Formel einfügen, um komplexe Regeln zu definieren.
Nehmen wir die obigen Daten ebenfalls als Beispiel, nehmen wir an, ich möchte eine neue Spalte anzeigen: Wenn das Produkt „Kleid“ ist und seine Bestellung größer als 300 ist, oder das Produkt „Hose“ ist und seine Bestellung größer als 300 ist, dann zeige „A+“, andernfalls zeige „Andere“.
1. Wählen Sie die Datentabelle aus und klicken Sie auf Daten > Aus Tabelle/Bereich, um zum Power Query Editor-Fenster zu gelangen.
2. Klicken Sie im geöffneten Fenster auf Spalte hinzufügen > Benutzerdefinierte Spalte. Führen Sie im geöffneten Dialogfeld „Benutzerdefinierte Spalte“ bitte die folgenden Aktionen aus:
- Geben Sie einen Namen für die neue Spalte in das Textfeld Neuer Spaltenname ein;
- Geben Sie dann die folgende Formel in das Formelfeld der benutzerdefinierten Spalte ein.
- =if ([Produkt] = "Kleid" and [Bestellung] > 300 ) or
([Produkt] = "Hose" and [Bestellung] > 300 )
then "A+"
else "Andere"
3. Klicken Sie dann auf die Schaltfläche OK, um zum Power Query Editor-Fenster zurückzukehren, und Sie erhalten eine neue Spalte mit den benötigten Daten, siehe Screenshot:
4. Klicken Sie abschließend auf Start > Schließen und Laden > Schließen und Laden, um diese Daten in ein neues Arbeitsblatt zu laden.
Im Formelfeld der benutzerdefinierten Spalte können Sie die folgenden logischen Operatoren verwenden:
- = : Gleich
- <> : Ungleich
- > : Größer als
- >= : Größer als oder gleich
- < : Kleiner als
- <= : Kleiner als oder gleich
Die besten Office-Produktivitätstools
Steigern Sie Ihre Excel-Kompetenz mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen, um Ihre Produktivität zu steigern und Zeit zu sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt die Reiter-Oberfläche in Office und macht Ihre Arbeit so viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen in Reitern in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Reitern desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich Hunderte von Mausklicks!