Power Query: Wenn-Dann mit Platzhaltern nutzen
Schritt-für-Schritt-Anleitung
Um in Power Query eine benutzerdefinierte Spalte zu erstellen, die auf bestimmten Text in einer anderen Spalte reagiert, kannst du die folgende M-Funktion verwenden:
-
Öffne Power Query in Excel.
-
Wähle die Tabelle aus, die du bearbeiten möchtest.
-
Klicke auf "Spalte hinzufügen" und wähle "Benutzerdefinierte Spalte".
-
Gib der neuen Spalte einen Namen, z.B. "Prüfergebnis".
-
Verwende die folgende Formel:
= Table.AddColumn(#"Vorheriger Schritt", "Prüfergebnis", each if Text.Contains([Text], "Granini") then "Granini" else null)
-
Ersetze [Text]
durch den Namen deiner Spalte, in der du nach Text suchen möchtest.
-
Klicke auf "OK", um die Änderungen zu übernehmen.
Diese Methode nutzt die Funktion Text.Contains
, um zu prüfen, ob der gewünschte Text (z.B. "Granini") in der Zelle vorhanden ist.
Häufige Fehler und Lösungen
-
Fehler: "Die Formel ist nicht korrekt."
- Lösung: Überprüfe, ob du die Syntax richtig eingegeben hast. Achte darauf, dass die Klammern und Anführungszeichen korrekt gesetzt sind.
-
Problem: Die Spalte bleibt leer.
- Lösung: Stelle sicher, dass der Text, den du suchst, tatsächlich in den Zellen vorhanden ist. Nutze die Funktion
Text.Contains
korrekt.
-
Wenn die Funktion nicht das gewünschte Ergebnis liefert.
- Lösung: Überprüfe die Schreibweise des gesuchten Textes und stelle sicher, dass Groß- und Kleinschreibung berücksichtigt wird, je nach den Einstellungen in Power Query.
Alternative Methoden
Wenn du mit Platzhaltern arbeiten möchtest, kannst du auch die Funktion Text.ContainsAny
verwenden. Diese erlaubt es dir, mehrere Begriffe gleichzeitig zu vergleichen:
= Table.AddColumn(#"Vorheriger Schritt", "Prüfergebnis", each if Text.ContainsAny([Text], {"Granini", "Albi"}) then "Enthält Produkt" else "Kein Produkt")
Hiermit kannst du mehrere Suchbegriffe definieren, was besonders nützlich ist, wenn du in einer Spalte nach verschiedenen Texten suchen möchtest.
Praktische Beispiele
-
Beispiel 1: Wenn du in einer Spalte nach "Granini" oder "Albi" suchen möchtest:
= Table.AddColumn(#"Vorheriger Schritt", "Prüfergebnis", each if Text.ContainsAny([Produkt], {"Granini", "Albi"}) then "Produkt vorhanden" else "Nicht vorhanden")
-
Beispiel 2: Wenn du prüfen möchtest, ob ein Text leer ist:
= Table.AddColumn(#"Vorheriger Schritt", "Prüfergebnis", each if Text.IsNullOrEmpty([Text]) then "Leer" else "Nicht leer")
Diese Beispiele zeigen, wie flexibel die Funktionen in Power Query sind, um verschiedene Bedingungen zu prüfen.
Tipps für Profis
- Nutze die Funktion
Text.Contains
in Kombination mit if
-Anweisungen, um komplexere Logik in deiner Abfrage zu integrieren.
- Du kannst auch reguläre Ausdrücke in Verbindung mit Power Query nutzen, um noch spezifischere Textmuster zu erkennen.
- Achte darauf, die Daten vor der Bearbeitung zu bereinigen, um fehlerhafte Ergebnisse zu vermeiden.
FAQ: Häufige Fragen
1. Wie kann ich die Suche nach Text unabhängig von der Groß-/Kleinschreibung machen?
Du kannst die Funktion Text.Lower
oder Text.Upper
verwenden, um sowohl den Suchtext als auch den zu durchsuchenden Text in eine einheitliche Schreibweise zu bringen.
2. Was ist der Unterschied zwischen Text.Contains
und Text.ContainsAny
?
Text.Contains
sucht nach einem spezifischen Text, während Text.ContainsAny
es dir erlaubt, nach mehreren Texten in einem einzigen Schritt zu suchen.
*3. Kann ich Platzhalter wie "" oder "?" in Power Query verwenden?**
Power Query unterstützt keine klassischen Platzhalter wie in Excel, jedoch kannst du mit Text.Contains
und anderen Textfunktionen ähnliche Ergebnisse erzielen, indem du gezielt nach Textmustern suchst.