Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Power Query - Doppelte aus Spalte filtern

Power Query - Doppelte aus Spalte filtern
17.10.2023 09:45:07
Bernd Fuchs
Hallo Excel-Gemeinde,

ich habe wieder eine kleine Herausforderung an der ich seit geraumer Zeit hänge.
Ich hoffe Ihr könnt mir da weiterhelfen.
Ich möchte im Power Query eine Spalte so transformieren, dass alle doppelten Werte darin entfernt werden. In der eigentlichen Tabelle kann der Inhalt mehrere Dutenz durch Komma getrennte Werte enthalten, die sich zumeist aber doppeln. Ich habe schon einen ersten Versuch unternommen, komme aber jetzt nicht mehr weiter.

Ist:
Lfd Nummer Bezeichnung
1001 ABC, ABC, DEF, ABC
1002 DEF
1003 ABC
1004 ABC, ABC, ABC
1005 XYZ, ABC, XYZ

Soll:
Lfd Nummer Bezeichnung
1001 ABC, DEF
1002 DEF
1003 ABC
1004 ABC
1005 XYZ, ABC


https://www.herber.de/bbs/user/163501.xlsx

Vielen Dank

Bernd Fuchs
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: interessiert mich auch ...
17.10.2023 10:17:49
neopa C
Hallo Bernd,

... ein Lösung hätte ich zwar, aber eben unprofessionell und deswegen ziemlich aufwendig.

Ich bin dazu bisher wie folgt vorgegangen:
Nach Deinem letzten Schritt habe eine Indexspalte hinzugefügt. und diese dann pivotiert nach [Bezeichnung] und (wichtig) mit der erweiterten Option "Nicht aggregieren".
Die so erzeugten Spalten haben ich zusammengeführt mit dem Trennzeichen "," und danach die doppelten Trennzeichen ersetzt durch Nichts. Übriggebliebene führende und abschließend verbliebene Kommas noch aufwendig entfernt.

Aber das geht sicherlich alles einfacher.

Gruß Werner
.. , - ...
Anzeige
AW: interessiert mich auch ...
17.10.2023 11:47:26
Bernd Fuchs
Danke Werner,

es funktioniert bedingt.

Nach dem pivotieren habe ich knapp 100 Spalten. Da mein Dateninput auch mal größer sein kann, müsste ich doch die Formel später anpassen, mit der ich alle Daten wieder zusammenfasse?


Ich habe auch den Fehler, dass ich im PowerQuery-Editor Daten habe, die dann im Excel nicht mehr da sind, ohne dass sich die Quelldaten ändern.

Statt "ABC, DEF" im Editor, stehen dann nur "ABC" in der Zelle. Es ist auch egal ob ich auf "alle aktuallisieren" gehe.
Anzeige
AW: Power Query - Doppelte aus Spalte filtern
17.10.2023 11:22:17
Jan
Hallo

Ganz einfach, dies hinzufügen:
= Table.Group(#"Entfernte Duplikate", {"Lfd Nummer"}, {{"Alle", each Text.Combine([Bezeichnung], ", "), type text}})
Nix VBA, simple Formel!
17.10.2023 17:34:12
RPP63
Moin!
Es reicht eine recht simple Formel in 365:
 AB
1ABC, ABC, DEF, ABCABC, DEF
2ABC, ABC, ABCABC
3DEFDEF
4XYZ, ABC, XYZXYZ, ABC

ZelleFormel
B1=TEXTVERKETTEN(", ";1;EINDEUTIG(TEXTTEILEN(A1;;", ")))
B2=TEXTVERKETTEN(", ";1;EINDEUTIG(TEXTTEILEN(A2;;", ")))
B3=TEXTVERKETTEN(", ";1;EINDEUTIG(TEXTTEILEN(A3;;", ")))
B4=TEXTVERKETTEN(", ";1;EINDEUTIG(TEXTTEILEN(A4;;", ")))


Gruß Ralf
Anzeige
AW: Nix VBA, simple Formel!
18.10.2023 12:03:52
Bernd Fuchs
Danke Ralf,

die Formel geht leider nicht. Die Funktion "Textteilen" gibt es bei mir nicht.

Außerdem wollte ich alles im PQ lösen, da ich sonst mit anderen Problemen zukämpfen habe.

Viele Grüße

Bernd
AW: Power Query - Doppelte aus Spalte filtern
17.10.2023 11:41:26
Bernd Fuchs
Danke Jan,

wie und wo füge ich den Code ein?
AW: Power Query - Doppelte aus Spalte filtern
17.10.2023 11:51:08
Jan
Hallo

Was ist daran so schwer zu verstehen?
Entweder über den Erwieterten Editor oder
vielleicht besser für dich "benutzer Definierte Spalte hinzufügen.
Anzeige
AW: Power Query - Doppelte aus Spalte filtern
17.10.2023 12:08:52
Bernd Fuchs
Was ist daran so schwer zu verstehen?

Danke für diese profesionelle Anwort. Ich arbeite zum ersten Mal mit Power Query :P


Nachdem ich das eingefügt habe, bläht es die Tabelle gigantisch auf. Jetzt müsste ich nur wieder die doppelten Werte rausfiltern und dann passt es?

Anzeige
AW: Power Query - Doppelte aus Spalte filtern
17.10.2023 12:16:09
Jan
Hallo

Zum ersten mal mit PQ ?? Wers glaubt, wenn ja dann sei dir verziehen,
So der gesamte M-Code als unprofihaft fürs Forum.


let
#"SQ" = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"SSCbD" = Table.ExpandListColumn(Table.TransformColumns(SQ, {{"Bezeichnung", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv),
let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Bezeichnung"),
#"SRV" = Table.ReplaceValue(SSCbD," ","",Replacer.ReplaceText,{"Bezeichnung"}),
#"SRD" = Table.Distinct(SRV),
#"SGR" = Table.Group(SRD, {"Lfd Nummer"}, {{"Alle", each Text.Combine([Bezeichnung], ", "), type text}})
in
#"SGR"
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Doppelte Werte in Power Query filtern und entfernen


Schritt-für-Schritt-Anleitung

  1. Daten in Power Query laden: Öffne Excel und lade die Daten, die Du bearbeiten möchtest, in Power Query.

  2. Spalte aufteilen: Wähle die Spalte aus, die die doppelten Werte enthält. Gehe zu Transformieren > Spalte teilen > Nach Trennzeichen und wähle das Komma als Trennzeichen aus.

  3. Pivotieren: Füge eine Indexspalte hinzu. Pivotieren Sie die neu erzeugten Spalten, indem Du auf Transformieren > Pivotieren klickst. Achte darauf, die Option „Nicht aggregieren“ auszuwählen.

  4. Dubletten entfernen: Benutze den M-Code, um die doppelten Werte zu entfernen. Füge dies in den erweiterten Editor ein:

    let
       Source = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
       #"Entfernte Duplikate" = Table.Distinct(Source)
    in
       #"Entfernte Duplikate"
  5. Zusammenführen: Füge die Spalten wieder zusammen, indem Du die Funktion Text.Combine nutzt, um die Werte mit einem Komma zu verbinden.


Häufige Fehler und Lösungen

  • Fehler: Nicht alle Daten werden angezeigt: Wenn Du im Power Query-Editor andere Daten angezeigt bekommst als in Excel, prüfe, ob Du die Schritte korrekt ausgeführt hast. Stelle sicher, dass alle notwendigen Transformationen angewendet wurden.

  • Problem mit der Formel: Wenn die Funktion Textteilen nicht verfügbar ist, könnte das an einer älteren Excel-Version liegen. Überprüfe, ob Du Excel 365 verwendest, um die neuesten Funktionen zu nutzen.


Alternative Methoden

  • VBA-Makro: Wenn Du häufig die gleichen Schritte durchführst, kannst Du ein VBA-Makro erstellen, das die doppelten Werte automatisch entfernt. Dies kann eine effiziente Lösung sein, wenn Du regelmäßig mit großen Datensätzen arbeitest.

  • Excel-Formel: Eine alternative Methode zur Entfernung doppelter Werte ist die Nutzung der Excel-Formel =EINDEUTIG() in Verbindung mit TEXTVERKETTEN(). Diese Methode ist einfach, erfordert jedoch Excel 365.


Praktische Beispiele

  • Beispiel: Angenommen, Du hast die folgende Tabelle:

    Lfd Nummer Bezeichnung
    1001 ABC, ABC, DEF, ABC
    1002 DEF
    1003 ABC

    Nach der Anwendung der obigen Schritte sollte das Ergebnis wie folgt aussehen:

    Lfd Nummer Bezeichnung
    1001 ABC, DEF
    1002 DEF
    1003 ABC

Tipps für Profis

  • Dynamischer Filter: Nutze die Funktionalitäten von Power Query, um dynamische Filter einzurichten, die sich automatisch an Änderungen in Deinem Datensatz anpassen.

  • Leere Zeilen entfernen: Denke daran, auch leere Zeilen zu entfernen, um Deine Datenbank sauber zu halten. Du kannst dies mit der Funktion power query leere zeilen entfernen durchführen.


FAQ: Häufige Fragen

1. Wie kann ich doppelten Werte in Excel filtern?
Du kannst die Funktion „Duplikate entfernen“ unter dem Reiter „Daten“ verwenden oder Power Query nutzen, um flexiblere Filteroptionen zu haben.

2. Gibt es eine Möglichkeit, doppelte Werte zu kennzeichnen, anstatt sie zu entfernen?
Ja, Du kannst die Funktion power query doppelte werte markieren verwenden, um die doppelten Werte in einer neuen Spalte zu kennzeichnen, anstatt sie zu löschen.

3. Was sind die Vorteile von Power Query gegenüber herkömmlichen Excel-Methoden?
Power Query bietet eine leistungsstarke und flexible Möglichkeit, Daten zu transformieren, zu bereinigen und zu aggregieren, was es einfacher macht, mit großen Datensätzen zu arbeiten.

4. Wie kann ich führende Leerzeichen in Excel entfernen?
Verwende die Funktion =GLÄTTEN(A1), um führende und nachfolgende Leerzeichen zu entfernen. In Power Query kannst Du auch die Transformationsoption „Führendes Leerzeichen entfernen“ nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige