Entfernen Sie in Excel 2016 identische Einträge mit dem Wert true für eine Spalte

0

Ich habe einen Tisch, der ungefähr so ​​aussieht:

WebDocumentId   To remove
675082          0
675082          0
675082          0
675083          0
675083          1
675083          0
675083          0
675083          0
675085          1
675085          0
675087          0
675087          0
675087          1
675087          0
675089          0
675089          0
675089          0
675089          0

Mein Ziel ist es, irgendwie alle identischen Einträge zu entfernen, für die 1 mindestens einmal in der Spalte "Entfernen" erscheint. Ein einfacher VLOOKUP für eine dritte Spalte hätte funktioniert, wenn 1 der erste Wert einer ID gewesen wäre.

Zusammenfassend sollte der Final Table so aussehen:

WebDocumentId   To remove
675082          0
675082          0
675082          0
675089          0
675089          0
675089          0
675089          0

Danke im Voraus!

Liviu Anca
quelle
Also, wenn es eine gibt 1 Möchten Sie diese in der Spalte "Entfernen" löschen? Sie können diese Spalte einfach filtern, indem Sie nur "0" anzeigen und dann sichtbare Zellen kopieren / einfügen. Oder verwenden Sie, wie Sie sagen, eine Formel, um festzustellen, ob der Wert gleich ist 0 Und wenn ja, geben Sie die ID zurück? Was hast du bisher versucht?
BruceWayne
Bei BruceWayne und Moderator Impersonator haben Sie einen wichtigen Punkt übersehen. Überprüfen Sie den Final Table. Nur ein repräsentativer Datensatz hat eine 1, aber jeder Datensatz mit derselben DocID wird entfernt.
fixer1234
Sind die doppelten IDs immer zusammenhängend oder können sie über die Datensätze verteilt werden? Wenn die Anzahl der Einsen klein ist, können Sie dies manuell mit einem Filter tun. Suchen Sie zuerst eine 1 und filtern Sie dann nach dem zugehörigen Wert in der ID-Spalte. Löschen Sie alle Ergebnisse. Spülen und wiederholen. Ein automatisierterer Weg wäre die Verwendung einer Hilfssäule. Tragen Sie dort für jeden Datensatz eine 1 ein, wobei die ID mit der ID eines Datensatzes mit einer 1 in der Spalte "Zu entfernen" übereinstimmt. Verwenden Sie dann die Hilfsspalte als Grundlage und nicht die Spalte Zum Entfernen. VBA wäre auch ein guter Weg.
fixer1234

Antworten:

2

Verwenden Sie in der dritten Spalte die folgende Formel:

=IF(SUMPRODUCT(--($A$2:$A$19=A2)*$B$2:$B$19)>0,"Delete","")
und ziehen Sie es nach unten

A2: A19 ist die Spalte von WebdocumentId behalte das $ als absolute Referenz (feste Referenzen)
B2: B19 ist die Spalte von 0,1 ... behalte die $ für feste referenzen
Summenprodukt ergibt die Summe der Spalte 0,1, wenn es die gleiche ID der Zeile hat, in der sich die Formel befindet

If the sum =1 or >0 the If is True and will write `Delete`, if False will be empty

Wenn Sie fertig sind, können Sie den Sonderwert der dritten Spalte in eine Spalte daneben kopieren und einfügen Sort das ganze Array von dieser neuen Spalte Descending
Löschen wird vor allem und Sie können die Zeilen auswählen und löschen.

Column A         Column B  Column C      Column D
  WebdocumentId  To remove Delete
    675082          0   =IF(SUMPRODUCT(--($A$2:$A$19=A2)*$B$2:$B$19)>0,"Delete","")
    675082          0   
    675082          0   
    675083          0    Delete
    675083          1    Delete
    675083          0    Delete
    675083          0    Delete
    675083          0    Delete
    675085          1    Delete
    675085          0    Delete
    675087          0    Delete
    675087          0    Delete
    675087          1    Delete
    675087          0    Delete
    675089          0   
    675089          0   
    675089          0   
    675089          0   
yass
quelle
Es wirkte wie Wunder. Vielen Dank!
Liviu Anca