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

Forumthread: Nur bestimmte Duplikate entfernen

Nur bestimmte Duplikate entfernen
17.11.2016 12:29:40
Philipp
Hallo zusammen,
ich habe eine Tabelle mit mehreren Statuswechseln aus einem Ticketsystem.
Incident ID Create Date Gruppe
INC000000618504 1.11.16 12:25 2nd
INC000000618504 1.11.16 12:38 TXVT
INC000000618504 1.11.16 12:56 3rd
INC000000618504 1.11.16 16:04 2nd
INC000000617209 2.11.16 11:09 2nd
INC000000619186 2.11.16 11:22 TXVT
INC000000619224 2.11.16 12:05 2nd
usw
Bei doppelten Einträgen für die Incident ID soll jeweils die Zeile mit dem frühesten Create Date erhalten bleiben. Ausnahme: Die Gruppe ist TXVT. Dann soll immer der früheste TXVT Timestamp erhalten bleiben - auch wenn das Ticket vorher in einer anderen Gruppe war.
Ich schaffe es mit "Duplikate entfernen" bisher immer nur den ersten Wert zu erhalten. Wie kann ich hier Abhängigkeiten definieren ?
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur bestimmte Duplikate entfernen
17.11.2016 13:12:35
UweD
Hallo
mit Hilfsspalten und dann nach X filtern und löschen.

Tabelle1
 ABCDE
1Incident ID Create DateGruppeTmpFiltern X
2INC00000061850401.11.2016 12:252nd1X
3INC00000061850401.11.2016 12:38TXVT2 
4INC00000061850401.11.2016 12:563rd0X
5INC00000061850401.11.2016 16:042nd0X
6INC00000061720902.11.2016 11:092nd1 
7INC00000061918602.11.2016 11:22TXVT2 
8INC00000061922402.11.2016 12:052nd1 

verwendete Formeln
Zelle Formel Bereich N/A
D2: D8=WENN(C2<>"TXVT";(AGGREGAT(15;2;(B:B)/(A:A=A2);1)=B2)*1;(AGGREGAT(15;2;(B:B)/((A:A=A2)*(C:C="TXVT"));1)=B2)*2)  
E2:E8=WENN(AGGREGAT(14;2;(D: D)/(A:A=A2);1)=D2;"";"X")  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 21.10 einschl. 64 Bit


LG UweD
Anzeige
AW: AW: Nur bestimmte Duplikate entfernen
18.11.2016 09:30:58
Philipp
Hallo Uwe,
vielen vielen Dank! Das klappt soweit. Toll!
Nice to have:
Gibt es noch eine "universellere" VBA-Lösung ?
AW: Nur bestimmte Duplikate entfernen
18.11.2016 09:53:50
Daniel
Hi
1. füge eine Hilfsspalte mit der Formel ein (für die Kursiven Begriffe bitte den jeweiligen Zellbezug einsetzen:
=Wenn(Gruppe="TXVT";Datum-3652;Datum)
2. sortiere die Liste nach der Hilfsspalte
3. wende jetzt das Duplikate-Entfernen mit der Incident-ID als Kriterium an.
4. lösche die Hilfsspalte wieder
das Duplikate-Entfernen lässt immer den ersten Wert einer Gruppe stehen.
Durch geschicktes Sortieren muss man erreichen, dass die Zeile, die stehen bleiben soll, als erste kommt.
In der Hilfsspalte wird das Datum um 10 Jahre nach vorne verlegt, wenn der Eintrag TXVT enthält, somit steht dieser Eintrag dann auf jeden Fall an erster Stelle.
Per VBA macht man das dann genauso, dh einfach diese Schritte per VBA ausführen lassen.
Der Recorder ist dein Freund.
Gruß Daniel
Anzeige
AW: AW: Nur bestimmte Duplikate entfernen
18.11.2016 11:26:16
Philipp
Hallo Daniel,
clever und so einfach! Klappt auch. Danke!
Für meinen Use-Case hat sich der Ansatz von Uwe als zielführender erwiesen.
So habe ich die Duplikate "markiert" und kann sie kontextbezogen trotzdem in die Berechnungen reinnehmen.
Eine abschließende Frage habe ich noch.
Uwes Formel klappt super wenn ich eben die genauen Zellbezüge nehme A2 B2 C2 usw.
Ich arbeite in meiner Tabelle aber mit einer echten "Tabelle".
Die Tabellen-Formel für Temp schmeißt mir dann aber leider andere Werte aus
=WENN([@[Incident ID]]"TXVT";(AGGREGAT(15;2;([Create Date])/([Incident ID]=[@[Incident ID]]);1) =[@[Create Date]])*1;(AGGREGAT(15;2;([Create Date])/(([Incident ID]=[@[Incident ID]]) *([Gruppe]="TXVT"));1)=[@[Create Date]])*2)
Wie müsste die Formel von Uwe korrekt lauten um das in meiner Tabelle abzubilden
Incident ID Create Date Gruppe Tmp
INC000000618504 1.11.16 12:25 2nd 1
INC000000618504 1.11.16 12:38 TXVT 0
INC000000618504 1.11.16 12:56 3rd 0
INC000000618504 1.11.16 16:04 2nd 0
INC000000617209 2.11.16 11:09 2nd 1
INC000000619186 2.11.16 11:22 TXVT 1
INC000000619224 2.11.16 12:05 2nd 1
Anzeige
Nevermind...
18.11.2016 11:42:30
Philipp
Dummer Fehler bei mir. Hat sich gelöst.
Korrekt ist natürlich:
=WENN([@Gruppe]"TXVT";(AGGREGAT(15;2;([Create Date])/([Incident ID]=[@[Incident ID]]);1) =[@[Create Date]])*1;(AGGREGAT(15;2;([Create Date])/(([Incident ID]=[@[Incident ID]]) *([Gruppe]="TXVT"));1)=[@[Create Date]])*2)
Noch mal Danke an Euch beide!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Duplikate in Excel gezielt entfernen


Schritt-für-Schritt-Anleitung

Um in Excel gezielt Duplikate zu entfernen, während bestimmte Bedingungen gelten, kannst Du die folgenden Schritte ausführen:

  1. Hilfsspalte hinzufügen: Füge eine Hilfsspalte hinzu, um die Bedingungen für das Entfernen von Duplikaten zu definieren. Verwende eine Formel wie:

    =WENN([@Gruppe]="TXVT";[@[Create Date]]-3652;[@[Create Date]])

    Diese Formel verschiebt das Datum für Einträge in der Gruppe "TXVT", sodass sie an oberster Stelle stehen.

  2. Sortieren: Sortiere die Liste nach der Hilfsspalte. Dadurch wird sichergestellt, dass die gewünschten Einträge an erster Stelle stehen.

  3. Duplikate entfernen: Wähle die gesamte Tabelle aus und gehe zu „Daten“ > „Duplikate entfernen“. Wähle die Spalte „Incident ID“ als Kriterium aus.

  4. Hilfsspalte löschen: Entferne die Hilfsspalte, nachdem die Duplikate entfernt wurden.


Häufige Fehler und Lösungen

  • Excel duplikate entfernen funktioniert nicht: Überprüfe, ob Du die richtigen Spalten ausgewählt hast und dass keine Leerzeichen oder unsichtbaren Zeichen in den Zellen vorhanden sind.

  • Formel funktioniert nicht: Stelle sicher, dass die Zellbezüge in der Formel korrekt sind. Wenn Du mit einer „echten“ Tabelle arbeitest, müssen die Formeln entsprechend angepasst werden.


Alternative Methoden

  • Power Query: Du kannst auch Power Query verwenden, um Duplikate mit Bedingungen zu entfernen. Importiere Deine Tabelle in Power Query und nutze die Funktion „Duplikate entfernen“ mit den gewünschten Bedingungen.

  • VBA-Lösung: Falls Du eine automatisierte Lösung suchst, kannst Du VBA nutzen, um die notwendigen Schritte durchzuführen. Die Schritte beinhalten das Hinzufügen einer Hilfsspalte, Sortieren und Entfernen der Duplikate.

Sub RemoveDuplicates()
    ' Hier wird der VBA-Code für das Entfernen von Duplikaten eingefügt
End Sub

Praktische Beispiele

Hier ist ein praktisches Beispiel, um zu zeigen, wie Duplikate entfernt werden können:

Angenommen, Du hast folgende Daten:

Incident ID Create Date Gruppe
INC000000618504 1.11.16 12:25 2nd
INC000000618504 1.11.16 12:38 TXVT
INC000000618504 1.11.16 12:56 3rd
INC000000618504 1.11.16 16:04 2nd

Mit der oben genannten Hilfsspalte und den weiteren Schritten kannst Du sicherstellen, dass der früheste Eintrag für TXVT bleibt.


Tipps für Profis

  • Dubletten bereinigen: Überprüfe regelmäßig Deine Daten auf Dubletten, um die Datenintegrität sicherzustellen.

  • Automatisierung: Nutze VBA oder Power Query, um wiederkehrende Aufgaben zu automatisieren. Dies spart Zeit und minimiert Fehler.

  • Regelmäßige Backups: Bevor Du Duplikate entfernst, erstelle immer ein Backup Deiner Daten, um ungewollte Verluste zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich Duplikate in Excel ohne Verschieben entfernen?
Du kannst die Funktion „Duplikate entfernen“ in Excel verwenden, die die Duplikate direkt in der Tabelle löscht, ohne die Daten zu verschieben.

2. Welche Duplikate werden gelöscht?
Excel entfernt immer den ersten Wert einer Gruppe, wenn Du die Funktion „Duplikate entfernen“ verwendest. Achte darauf, die Daten vorher zu sortieren, um den gewünschten Wert zu behalten.

3. Gibt es eine Möglichkeit, nur bestimmte Duplikate zu entfernen?
Ja, Du kannst Hilfsspalten verwenden, um Bedingungen zu definieren, und dann die Duplikate basierend auf diesen Bedingungen entfernen. Power Query ist ebenfalls eine leistungsstarke Option dafür.

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