Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Power Query wenn-Dann mit Platzhalter

Power Query wenn-Dann mit Platzhalter
24.06.2022 12:48:00
Heinz
Hallo liebe Excellenten,
ich suche nach einer M-Funktion, mir der ich in PW in einer benutzerdefinierten Spalte
etwas ausgeben kann, wenn sich der Spalte daneben ein bestimmter Text
irgendwo in der Zelle befindet.
Im Sinne von:
=if([BEDINGUNG]) then [WERT_WAHR] else [WERT_FALSCH])
Aber der Text kann sich irgendwo in der Zelle befinden ...
Wenn sich z.B. in der Spalte der String Granini
befindet, dann soll in der Spalte daneben das Wort Granini stehen.
- 100 ML Granini Apfelsaft Glas
- 75 ML Albi Saft
- 50 Glas Granini Erbeer mit Vitamin
- Dose Rabenhorst Kirsche
In diesem Beispiel also in den Zeilen 1 und 3.
Heinz
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:mit Text.Contains() ...
24.06.2022 12:59:57
neopa
Hallo Heinz,
... wenn die Spalte mit Text mit Text überschrieben ist z.B. so:
= Table.AddColumn(#"Geänderter Typ", "Prüfergebnis", each if Text.Contains([Text], "Granini") then 1 else null)
wobei dies nur das "Produkt" einer entsprechenden interaktiven Funktionsaktivierung war.
Gruß Werner
.. , - ...
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. Öffne Power Query in Excel.

  2. Wähle die Tabelle aus, die du bearbeiten möchtest.

  3. Klicke auf "Spalte hinzufügen" und wähle "Benutzerdefinierte Spalte".

  4. Gib der neuen Spalte einen Namen, z.B. "Prüfergebnis".

  5. Verwende die folgende Formel:

    = Table.AddColumn(#"Vorheriger Schritt", "Prüfergebnis", each if Text.Contains([Text], "Granini") then "Granini" else null)
  6. Ersetze [Text] durch den Namen deiner Spalte, in der du nach Text suchen möchtest.

  7. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige