Duplikate aus zwei Spalten, aus einer entfernen
#1
Hallo zusammen,

ich hoffe ich finde hier Hilfe. Habe bereits gegoogelt und auch verschiedene Videos auf Youtube angeschaut, jedoch nichts funktionierendes gefunden.

Ich habe eine Tabelle mit über 55000 Zeilen, weshalb das ganze per Hand viel zu lange dauern würde.

Mein Anliegen:

Es geht um eine Liste, in der es beispielsweise einmal eine Spalte (J) mit "Liefername" gibt, und eine Spalte (P) mit "Name".
Nun sollen aus Spalte J Einträge gelöscht werden, die auch in Spalte P (in der gleichen Zeile) vorkommen. Das heißt, dass in Spalte P der Name weiterhin erhalten bleibt, wohingegen die Spalte J an dieser Stelle leer sein soll.

Leider kann ich über die "Duplikate entfernen"-Funktion von Excel nur Duplikate in einer einzigen Spalte entfernen lassen.
Bin dann so kreativ geworden und habe die doppelten Einträge über "bedingte Formatierung" rot markieren lassen. Diese wurden dann in Spalte P und J rot angezeigt. Wollte dann aus Spalte J alle Einträge mit roter Hintergrundfarbe entfernen, über VBA-Codes, die ich bei Google gefunden habe. Nur leider scheint das nicht zu funktionieren, da der Farbcode nicht übernommen wird oder so ähnlich. Kenne mich leider nicht so gut damit aus, weshalb ich auch hier auf Hilfe hoffe.


Freundliche Grüße!
Top
#2
Hallo,

ist das so gemeint?

Code:
for i = 1 to cells(rows.count, "J").end(xlup).row
    if cells(i, "J") = cells(i, "P") then cells(i, "J") = ""
next i

mfg
Top
#3
Hi,

leg dir eine Hilfsspalte an und filtere nach "x". Die (gefilterte!!) zweite Liste dann löschen.

Arbeitsblatt mit dem Namen 'Tabelle6'
ABC
1Liste1Liste2doppelt
2johannmonerl
3christinexanthippex
4gustavjohannx
5xanthippemaxl
6monimoritz

ZelleFormel
C2=WENN(ZÄHLENWENN($A$2:$A$6;B2)=1;"x";"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#4
(18.07.2019, 12:39)Fennek schrieb: Hallo,

ist das so gemeint?

Code:
for i = 1 to cells(rows.count, "J").end(xlup).row
if cells(i, "J") = cells(i, "P") then cells(i, "J") = ""
next i

mfg

Hallo, was soll ich genau mit dem Code machen? Habe echt wenig Ahnung von Excel, sorry.

Danke für die Antwort!

(18.07.2019, 12:40)WillWissen schrieb: Hi,

leg dir eine Hilfsspalte an und filtere nach "x". Die (gefilterte!!) zweite Liste dann löschen.

Arbeitsblatt mit dem Namen 'Tabelle6'
ABC
1Liste1Liste2doppelt
2johannmonerl
3christinexanthippex
4gustavjohannx
5xanthippemaxl
6monimoritz

ZelleFormel
C2=WENN(ZÄHLENWENN($A$2:$A$6;B2)=1;"x";"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg


Hi,

habe mit deiner Formel jetzt in Spalte AE "x", bei doppelten Einträgen stehen. Wie soll ich nun weiter vorgehen? Laut deiner Beispieltabelle, werden auch doppelte Einträge aus verschiedenen Zeilen mit beachtet. Diese sollten eigentlich nicht mit beachtet werden. Ich meine das also Beispielsweise so:

J______________K____L___...____P_______...________AE
Max Mustermann________________Max Mustermann_____x
Günther Mann__________________Rudolf Schmitz_______
Max Mustermann________________Max Muster_________
Günther Mustermann_____________Günther Mustermann__x
Rudolf Schmitz__________________Peter Braun_________

aus J sollen dann z.B. die grün markierten entfernt werden. In blau, doppelte Einträge, die in verschiedenen Zeilen sind und deshalb nicht entfernt werden sollen. Die in schwarz, sollen weiterhin so stehen bleiben.

Danke für die Antwort!
Top
#5
Hallo, :19:

im Anhang siehst du mal beide Möglichkeiten. Einmal, wenn du es über die Bedingte Formatierung machen möchtest "DisplayFormat.Interior.ColorIndex". Und dann noch wie von Fennek vorgeschlagen mit dem Vergleich der beiden Spalten: :21:
[attachment=25445]

Funktioniert im Moment im gerade aktiven Tabellenblatt. Wenn du das öfter machen willst, wäre es über Array schneller.
Top
#6
Hi,

wenn du die (doppelten) Namen der ersten Spalte behalten und die der zweiten löschen willst, musst du halt die Formel anpassen:
Code:
=WENN(ZÄHLENWENN($B$2:$B$6;A2)=1;"x";"")
Wie du weiter verfahren sollst, habe ich dir ja in #3 beschrieben.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#7
(18.07.2019, 13:31)Case schrieb: Hallo, :19:

im Anhang siehst du mal beide Möglichkeiten. Einmal, wenn du es über die Bedingte Formatierung machen möchtest "DisplayFormat.Interior.ColorIndex". Und dann noch wie von Fennek vorgeschlagen mit dem Vergleich der beiden Spalten: :21:


Funktioniert im Moment im gerade aktiven Tabellenblatt. Wenn du das öfter machen willst, wäre es über Array schneller.

Danke, das hat geklappt und war selbst für mich verständlich :D

Danke auch an alle anderen! Einen schönen Tag wünsche ich euch !
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste