Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Duplikate bedingt entfernen

Duplikate bedingt entfernen
16.05.2021 08:21:18
RezyMe
Ich habe ein Problem, für das ich nach mehreren Suchen im Internet keine Lösung gefunden habe. Ich hoffe, dass mir jemand helfen kann.
Die Tabelle, die ich hochgeladen habe, ist eine vereinfachte Tabelle, um nur das Beispiel des Problems zu erklären.
Ich möchte alle Duplikate aus Spalte C (Teil) löschen, sobald sich der Wert in Spalte A (Kunden-Nr.) unterscheidet, so dass nur die Duplikate mit der gleichen Teil-/Kunden-Nr. (im Beispiel grün markiert) übrig bleiben, da sie eine Gruppe bilden.
https://www.herber.de/bbs/user/146212.xlsx
Für jeden Lösungsvorschlag wäre ich Ihnen sehr dankbar.

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: erscheint zumindet als nicht eindeutig, ...
16.05.2021 09:25:18
neopa
Hallo RezyMe ,
... wenn, wie Du schreibst, alle Duplikate aus Spalte C (Teil) gelöscht werden aber die Duplikate mit der gleichen Teil-/Kunden-Nr. übrig bleiben sollen ist das für mich ein Widerspruch in sich. Denn wenn wie im Beispiel wirklich nur die grün markiert Daten stehen bleiben sollen, dann müssten auch zumindest die Daten in Zeile 5 bis Zeile 10 stehen bleiben weil eigene Gruppen. Oder?
Wenn das von Dir geklärt ist, steht für mich noch die Frage, ob das Ergebnis der "Bereinigung" auch in anderen Spalten oder auch einem anderen Tabellenblatt gelistet werden kann.
Gruß Werner
.. , - ...
Anzeige
AW: erscheint zumindet als nicht eindeutig, ...
16.05.2021 11:02:49
RezyMe
Hallo Werner,
Ihre Frage macht Sinn, aber vielleicht habe ich mich nicht verständlich ausgedrückt.
Das Teil muss so oft vorkommen wie eine der Kundennummern. Sobald sich die Kundennummer ändert, das Teil aber das gleiche ist, sollte die Zeile/Zeilen gelöscht werden.
Wie in meinem Fall z.B. die Zeile 2 bis 4 bleibt, aber 5 bis 10 muss gelöscht werden. Oder die Zeile 11 bleibt erhalten, aber 12 muss gelöscht werden.
Da die Tabelle aber mehr als 15000 Zeilen hat, ist es sehr schwierig, alles manuell zu bearbeiten.
Wenn das Ergebnis in einem anderen Blatt (Tabelle2) aufgelistet wird, wäre das ein Traum.
Anzeige
AW: nun ist aber Dein "Oder" verwirrend ...
16.05.2021 11:26:38
neopa
Hallo,
... vorab: in Foren wie auch diesen ist die "Du-Form" in der Ansprache üblich.
In Deinen neuen Aussage: "Oder die Zeile 11 bleibt erhalten, aber 12 muss gelöscht werden. " kann ich Dein "Oder" momentan nicht richtig einordnen. Definiere die Bedingungen bitte eindeutig; auch was mit den Daten in Zeile 13 bis 16 werden soll.
Gruß Werner
.. , - ...
AW: nun ist aber Dein "Oder" verwirrend ...
16.05.2021 12:54:28
RezyMe
Hallo Werner,
ein Teil darf nur einmal in Verbindung mit einer Kundennummer vorkommen. Dies kann nur einmal sein wie in Zeile 16 oder auch mehrmals (Bündel) wie in den Zeilen 2-4. Die Bedingung ist die Kundennummer in Bezug mit der Teilenummer. Wenn durch die Überprüfung der Tabelle festgestellt wird, dass das Teil mit der Kundennummer x, aber wiederum auch mit der Kundennummer y existiert, dann kann eines davon gelöscht werden.
Ich hoffe, du weißt jetzt, was ich meine. Es ärgert mich, dass ich mein Problem nicht richtig erklären kann :(.
Anzeige
AW: aber eineindeutig ist's so auch noch nicht ...
16.05.2021 13:52:40
neopa
Hallo,
... warum ergänzt Du nicht Deine verbale Bedingungsbeschreibung nicht mit ganz konkreten Angaben zu Deiner Beispieldatei. Konkret angegebene von Dir ist bis jetzt Dir. Zeile 5:11 soll gelöscht werden und Zeile 2-4 und 12 und 16 soll erhalten werden.
Wenn dem so sein soll, dann stellt sich mir die Frage warum Zeile 11 nicht erhalten und Zeile 12 löschen? Und wenn Zeile 15 erhalten werden muss, dann doch auch Zeile 15, oder? Mit den Zeilen 12 und 13 verhält es sich mE wie mit den Zeilen 11 und 12.
Und nicht unerwähnt bleiben soll, dass theoretisch doch auch Zeile 5-7 erhalten bleiben könnte, wenn Zeile 2-4 gelöscht wird, oder?
Eine exakte Bedingungsdefinition kann nämlich schon die halbe Lösung sein.
Gruß Werner
.. , - ...
Anzeige
AW: aber eineindeutig ist's so auch noch nicht ...
16.05.2021 15:46:29
RezyMe
Hi Werner,
sorry. Ich lade die Tabelle noch einmal so hoch, wie sie nach dem Ausführen des Makros oder der Formel aussehen sollte. Vielleicht hilft das mehr als 1000 Worte.
https://www.herber.de/bbs/user/146216.xlsx
AW: bist Du Dir denn jetzt sicher? ...
16.05.2021 16:04:32
neopa
Hallo,
... denn Deine jetzige vorgegebene Ergebnisliste "Nachher" steht zumindest bzgl. Deiner neuen "Vorher-Zeile" 12 im Widerspruch zu Deinen verbalen Aussagen in Deinen Beiträgen von 11:02 und 12:54 zu der vormaligen Beispielliste (in der sämtliche Daten eine Zeile höher höher angeordnet waren).
Gruß Werner
.. , - ...
Anzeige
AW: bist Du Dir denn jetzt sicher? ...
16.05.2021 16:15:57
RezyMe
Hallo Werner,
Das ist richtig, ich habe eine Zeile für den Text "Vorher" und "Nachher" hinzugefügt. Bitte nimm das nicht für wahr, denn im Normalfall wird es nicht geben.
AW: zunächst als Formellösung ...
17.05.2021 09:55:29
neopa
Hallo RezyMe,
... aufgezeigt für Deine Beispieldatei. Die Hilfsspaltenformel I2 nach unten kopieren und die Formel L2 weit genug nach rechts und nach unten. Allerdings ist bei Deiner auszuwertenden Datenmenge eine Formellösung nicht effektiv, wenn diese mehrfach ausgeführt werden muss. Dafür bietet sich dann z.B. eine Power Query Lösung an.
 ABCDEFGHIJKLMNOPQRS
1VorherHilfs-
spalte
  Nachher
2Kundennr.KundeTeilBezeichnungMaterialBezeichnung (Mat)BedarfME2  Kundennr.KundeTeilBezeichnungMaterialBezeichnung (Mat)BedarfME
3101Kunde01A002211Artikel  0 3  101Kunde01A002211Artikel    
4101Kunde01A002211ArtikelMF300Mat022,082kg4  101Kunde01A002211ArtikelMF300Mat022,082kg
5101Kunde01A002211ArtikelMF350Mat030,05kg5  101Kunde01A002211ArtikelMF350Mat030,050kg
6105Kunde05A002211Artikel  0    101Kunde01B003322ArtikelGF020Mat050,400kg
7105Kunde05A002211ArtikelMF300Mat022,082kg   101Kunde01L002255ArtikelKF500MatD020,490kg
8105Kunde05A002211ArtikelMF350Mat030,05kg   108Kunde08G110022ArtikelKF600Mat040,300kg
9108Kunde08A002211Artikel  0    108Kunde08X440055ArtikelKF600Mat041,312kg
10108Kunde08A002211ArtikelMF300Mat022,082kg           
11108Kunde08A002211ArtikelMF350Mat030,05kg           
12101Kunde01B003322ArtikelGF020Mat050,4kg12          
13105Kunde05B003322ArtikelGF020Mat050,4kg           
14101Kunde01L002255ArtikelKF500MatD020,49kg14          
15105Kunde05L002255ArtikelKF500MatD020,49kg           
16108Kunde08G110022ArtikelKF600Mat040,3kg16          
17108Kunde08X440055ArtikelKF600Mat041,312kg17          

ZelleFormel
I2=WENNFEHLER(ZEILE()/(ZÄHLENWENNS(A$2:A2;A2;C$2:C2;C2)=ZÄHLENWENN(C2:C$3;C2));"")
L2=WENNFEHLER(INDEX(A:A;KKLEINSTE($I:$I;ZEILE(A1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: zunächst als Formellösung ...
17.05.2021 16:57:59
RezyMe
Hallo Werner,
ich bin dir sehr dankbar für deine Hilfe und deine Geduld. Die erste Formel macht genau das, was gemacht werden muss. Ich kann dann die Filter verwenden, um die leere Zeile auszublenden.
AW: bitteschön, doch nachgefragt ...
17.05.2021 17:41:28
neopa
Hallo RezyMe,
... Du schriebst gestern, dass Du mehr als 15.000 Datenzeilen auszuwerten hast. Wie lange hat Dein PC dafür ca gerechnet?
Gruß Werner
.. , - ...
AW: bitteschön, doch nachgefragt ...
17.05.2021 18:54:57
RezyMe
Hi Werner,
die Berechnung von Zeile 2 bis 1526 hat etwa 9-10 Sekunden gedauert.
AW: danke für die Informtion ...
17.05.2021 19:54:09
neopa
Hallo RezyMe,
... wenn es dann tatsächlich mehr al 15.000 auszuwertende Datenzeilen werden, dann könntees mE nicht nur das 10 fache a Zeit benötigen und wenn es häufiger gemacht werden müsste unzumutbar sein. Spätestens dann müsste man sich von der Formellösung wohl trennen.
Gruß Werner
.. , - ...
Anzeige
AW: danke für die Informtion ...
17.05.2021 20:41:32
RezyMe
Hallo Werner,
Ich habe gerade gesehen, dass ich mich vertippt habe. Ich meinte 15026. Vielleicht gelingt es mir irgendwann ein Makro zu bauen. :) :P.
AW: dafür dann ...
18.05.2021 08:47:42
neopa
Hallo nochmal,
... wäre die Reaktionszeit auch als Formellösung bei mehrmaliger Anwendung für mich noch einigermaßen vertretbar. Bei häufiger Anwendung würde ich dann wie bereits geschrieben eine PowerQuery-Lösung einsetzen. Mit dieser könnten zusätzlich auch gleich noch die "leeren" Datenzeilen ausgefiltert werden.
Gruß Werner
.. , - ...
Duplikate entfernen sollte reichen
17.05.2021 20:05:10
Daniel
Hi
auf die schnelle würde ich sagen, wende das DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN an.
und nimm die Spalten Teil, Material, Bezeichnung (Mat) und ggf Bedarf als Kriterium.
Gruß Daniel
Anzeige
AW: Duplikate entfernen sollte reichen
17.05.2021 21:31:24
RezyMe
Hey Daniel,
mit deinem Vorschlag komme ich zum gleichen Ergebnis wie mit der Formel von Werner.
Danke dir.
AW: wenn dem so ist ...
18.05.2021 08:42:29
neopa
Hallo RezyMe ,
... dann ist der Vorschlag von Daniel für einen einmalige Einsatz natürlich wesentlich effektiver als meine Formellösung und lässt sich so auch für eine VBA-Lösung nutzen. Ich hatte mich zu sehr auf Deine Aussagen konzentriert, die sich nur auf "Teil"-Duplikate bezog und dabei die zugeordneten Daten außer acht gelassen.
Gruß Werner
.. , - ...
AW: wenn dem so ist ...
18.05.2021 16:08:46
RezyMe
Dennoch, Werner, bist du mein Held. Ich finde deine Hilfsbereitschaft und die aller anderen in diesem Forum bewundernswert.
Ich habe noch etwas anderes auf der Liste, das ich lösen möchte, aber ich werde es zuerst selbst ausprobieren (um mich nicht als "Verlierer" darzustellen :P), und wenn es nicht klappt, werde ich wahrscheinlich wieder um deine Hilfe bitten, sofern du Zeit hast.
Anzeige
AW: gerne owT
18.05.2021 16:26:26
neopa
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige