Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1736to1740
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 bereinigen

Duplikate bereinigen
27.01.2020 09:17:46
Inge
Hallo liebe Excel Experten,
ich hoffe, einer von euch kann mir bei der folgenden Herausforderung helfen:
Ist-Situation:
Gleiche Artikelnummern (Spalte B: "Name & Parent ID") kommen mit unterschiedlichen IDs (Spalte A) mehrmals in einer Tabelle vor (zwischen zwei und 32 mal; Ergebnis ZÄHLENWENN in Spalte C).
Merkmale ("Enabled" in Spalte D und "Referenced" in Spalte E) sind für die einzelnen Artikelnummern mal auf der ersten ID gepflegt, mal auf der zweiten, mal auf der dritten usw.
Die Inhalte dieser Attribute sollen auf der ersten ID konsolidiert werden.
Artikelnummern sollen beim ersten Vorkommen in der Liste markiert werden, damit man am Ende einfach zwischen den IDs unterscheiden kann, die bleiben dürfen (=alle markierten), und denen, die rausfliegen sollen (=alle nicht markierten).
Ich habe die Ist-Situation und die Wunschvorstellung in der angehängten Datei dargestellt. Die angehängte Datei ist nur ein Ausschnitt, ich hätte sonst bei weitem die maximal erlaubte Dateigröße überschritten
Im Voraus schon mal vielen Dank für eure Hilfe!
Inge
https://www.herber.de/bbs/user/134729.xlsx

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: momentan soll nichts bereinigt werden ...
27.01.2020 09:52:48
neopa
Hallo Inge,
... sondern wie ich Deinen bisherigen Angaben entnehmen kann, willst Du ja nur Datensätze kennzeichnen. Oder?
Die Logik dazu erschließt sich mir zwar noch nicht wirklich, aber mit folgender einfachen Formel kann ich zumindest für das Beispiel das gewünschte erzielen:
=WENN((C2=1)+(E2="");"";"x") und diese nach unten kopieren.
Gruß Werner
.. , - ...
AW: momentan soll nichts bereinigt werden ...
27.01.2020 10:38:29
Inge
Hallo Werner,
danke, das funktioniert schon super! Könntest du vielleicht kurz in "Prosa" beschreiben, was genau die Formel macht? Dann versteh ich es besser und kann es hoffentlich beim nächsten Mal alleine.
Und du hast völlig recht, an dieser Stelle wird nichts bereinigt. Ich brauche den Identifikator, um die Dubletten aus einem anderen System löschen zu können.
Hast du auch eine Idee, wie man die Attribute, die jetz mal in einer Zeile und mal in einer anderen gepflegt worden sind, in einer Zeile zusammenfassen kann?
Danke nochmal,
Inge
Anzeige
AW: zur Formel ...
27.01.2020 10:49:11
neopa
Hallo Inge,
... gibt es nicht viel zu schreiben. Sie prüft lediglich ob der Zählwert in Spalte C der gleichen Zeile gleich 1 ist oder keine Datenwert in Spalte E der gleichen Zeile steht. Wenn dem so sein sollte dann ist das Ergebnis ="" ansonsten ="x".
Deine zusätzliche Fragestellung ist mir unklar. Wie stellst Du Dir denn für Deine Beispieldatei das Ergebnis vor?
Gruß Werner
.. , - ...
AW: zur Formel ...
27.01.2020 11:01:06
Inge
Hallo werner,
ich verstehe nicht, warum der Wert in der Spalte E für die Formel relevant ist. Die Zelle E2, zum Beispiel, könnte auch leer sein, und es wäre dennoch eine Dublette, die in Zeile 2 zum ersten Mal auftaucht.
Hast du zu der zusätzlichen Fragestellen den zweiten Tab im Anhang gesehen?
Es ist so, dass in diesem Beispiel zwei Attribute pro Artikel wichtig sind: Enabled und Referenced. Meistens ist das eine Attribut bei der ersten Artikelnummer gefüllt, das andere bei einer beliebigen anderen Artikelummer. Am Ende hätte ich gerne einen eindeutigen Artikel mit einer eindeutigen ID, bei dem diese beiden Attribute in den entsprechenden Spalten nebeneinander gefüllt sind.
Ich hoffe, das ist so verständlicher.
Gruß,
Inge
Anzeige
AW: hierzu nun ...
27.01.2020 11:12:38
neopa
Hallo Inge,
... ich schrieb ja schon in meinem ersten Beitrag, dass ich Deine Datenstruktur & Logik nicht wirklich verstehe und deshalb meine Formel nur Deine Wunschvorstellung in der Beispieldatei realisiert.
Wenn E2 leer ist, so ist doch noch immer C2 1 und damit ergibt sich dafür im Ergebnis meiner Formel ein "x", denn das "+" in der Formel steht für eine ODER-Beziehung.
Und auch Deine Erklärung zu Deiner zusätzlichen Fragestellung ist mir nicht wirklich verständlich geworden.
Vielleicht solltest Du doch mal eine entsprechende ergänzte/erweiterte Beispieldatei einstellen, wie Deine Zielstellung dafür aussieht.
Gruß Werner
.. , - ...
Anzeige
AW: wenn E2 leer ist ...
27.01.2020 11:38:31
neopa
Hallo Inge,
... dann ergibt sich mit meiner bisherigen Formel als Ergebnis natürlich ="" (weil es ja eine ODER-Beziehung ist), da hatte ich mich zuletzt vertan und falsches geschrieben. Sorry.
Aber dann müsste der "Referenced-Wert" in E3 stehen. und es in F3 das "x" sich ergeben.
Gruß Werner
.. , - ...
AW: zur Formel ...
27.01.2020 11:27:04
Daniel
HI
das zweite kannst du so erreichen:
1. markiere in der Spalte mit den Lücken alle Leerzellen.
dazu gibt es eine Funktion im Menü: Start - Bearbeiten - Suchen und Auswählen - Inhalte - Leere Zellen
2. gib dann, wenn die Leerzellen markiert hast, die Formel ein:
(sinngemäß) =Wenn(ID = ID in zeile Drunter; Wert aus Zeile Drunter; "")
für deinen Fall ist D2 die erste leere Zelle, daher: =WENN(B2=B3;D3;"")
dann die ganze Spalte kopieren und als Wert einfügen.
jetzt sollten immer in der ersten Zeile zu einer ID alle Informationen vorhanden sein.
Gruß Daniel
Anzeige
AW: momentan soll nichts bereinigt werden ...
27.01.2020 17:02:05
Inge
Hallo ChrisL,
darf ich noch fragen, mit welcher Join Art du die Haupt- und Hilfsabfragen zusammengefügt hast?
Danke!
Inge
AW: momentan soll nichts bereinigt werden ...
27.01.2020 19:05:10
ChrisL
Hi Inge
Gute Frage. Ich meine es waren alles LEFT OUTER JOIN
https://de.wikipedia.org/wiki/Join_(SQL)
Da alle Aggregationen in den Hilfsabfragen erfolgt sind, sollte die Hauptabfrage die originale Anzahl Datensätze haben. Ausgehend von der Hauptabfrage ein Left-Join ausgeführt, enthält alle Datensätze der Hauptabfrage und die vorhandenen aus der Hilfsabfrage. Nicht vorhandene werden automatisch mit null aufgefüllt.
Da Hilfs- und Hauptabfrage auf der gleichen Datenquelle beruhen, dürfte die umgekehrte Situation (in der Hilfsabfrage gibt es Datensätze, welche in der Hauptabfrage nicht vorhanden sind) gar nie eintreten. Und wenn, dann würden sie aufgrund des Left-Join ignoriert.
Beispielhaft (Problemstellung: erster Wert markieren)
Hauptabfrage (Index hinzugefügt)
ID, Index
A , 1
A , 2
B , 3
C , 4
C , 5
Hilfsabfrage (Duplikat der Hauptabfrage)
ID, Index
A , 1
A , 2
B , 3
C , 4
C , 5
Hilfsabfrage (Schritt: Gruppieren nach, Option "Minimum")
ID, Index
A , 1
B , 3
C , 4
Hauptabfrage LEFT OUTER JOIN Hilfsabfrage USING (Index)
ID, Index, Hilfsabfrage.ID
A , 1 , A
A , 2 , null
B , 3 , B
C , 4 , C
C , 5 , null
Bedingte Spalte: Wenn nicht null dann "x"
cu
Chris
Anzeige
PQ Lösung
27.01.2020 11:40:46
ChrisL
Hi Inge
https://www.herber.de/bbs/user/134742.xlsx
1. Enabled/Referenced auffüllen
Je eine Hilfsabfrage, ID und Enabled/Referenced, gefiltert ohne Leerzeilen. Die beiden Hilfsabfragen mit der Hauptabfrage verbinden.
2. Erster Wert pro ID ermitteln
Weiter ein Index hinzufügen. Dann gruppieren mit Option "Minimum", wodurch der erste Wert pro ID ermittelt wird. Dann die Hilfsabfrage wieder mit der Hauptabfrage verbinden. Bedingte Spalte, um Indexzahl in "x" umzuwandeln.
cu
Chris
AW: hierzu nur ergänzt ...
27.01.2020 11:55:18
neopa
Hallo Chris,
... Inge hat eine XL-Version vor 2013 angegeben. Deshalb der Hinweis, dass sie in Ihrer Version erst das entsprechende Add-In von der MS_Seite herunterladen (kostenfrei) und installieren muss, bevor sie damit arbeiten kann und es mW auch nur ab Excel 2010 möglich ist.
Gruß Werner
.. , - ...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige