Duplikate entfernen - Aber Inhalte anderer Zeilen übertragen
#1
Hallo,

leider habe ich ein Problem, bei dem ich nicht mehr weiter weiß, daher bitte ich euch um Hilfe.

Es geht um eine Excel-Tabelle die knapp 25000 Zeilen umfasst (Excel 2007).
In den Zeilen stehen Personen und in den Spalten Informationen etc. über die Person.
Dann gibt es einen Bereich in dem Merkmale dieser Person (ausgeleitet aus einem anderen Programm) stehen. Dabei gibt es 21 Merkmale und ebenso 21 Spalten. Wenn die Person dieses Merkmal hat ist ein X gesetzt.
In jeder Zeile steht allerdings nur ein X. Falls die Person ein weiteres Merkmal hat ist eine neue Zeile entstanden, in der wiederum nur ein X bei den 21 verschiedenen Merkmalen stehen kann.

So gibt es viele Personen doppelt oder noch öfters. Es handelt sich um knapp 15.000 Duplikate.
Wie kann ich die Duplikate nun entfernen und gleichzeitg alle X dieser Person in eine Zeile bringen.

Wenn ich "Duplikate entfernen" wähle löscht er mir logischerweise die Duplikate, aber eben auch die gesetzten X in den gelöschten zeilen und es bleibt nur das X in der ersten Zeile dieser Person übrig - Also nicht benutzbar.

Welche Möglichkeiten habe ich hier?

Vielen Dank für eure Hilfe und ich hoffe es gibt einen Weg. Den per Hand wird das anstrengend :s
Top
#2
Hallo,

es geht mit einem Dictionary. Als Beispiel siehe dir #10 (von snb) in

http://www.clever-excel-forum.de/Thread-...ght=Fennek

an.

mfg
Top
#3
Moin!
Ausgangsposition:
ABCDEF
1PersonM1M2M3M4M5
2ax
3ax
4ax
5bx
6bx
7bx
8bx
9cx
10cx
11cx
12cx
13dx
14dx

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
  • markiere den gesamten Bereich mittels Strg+a
  • F5, Inhalte, Leerzellen
  • Formel =WENN(UND($A2=$A1;ISTTEXT(C1));C1;"") (C2 ist aktiv daher 2mal C1 in der Formel)
  • Formel mit Strg+Enter abschließen!!
  • In G1:H1 jeweils eine 0
  • ab G2 nach unten ziehen: =ZÄHLENWENN(B2:F2;"x")
  • ab H2 nach unten ziehen: =WENN(G3<=G2;ZEILE();0)
sieht jetzt so aus:
ABCDEFGH
1PersonM1M2M3M4M500
2ax10
3axx20
4axxx34
5bx10
6bxx20
7bxxx30
8bxxxx48
9cx10
10cxx20
11cxxx30
12cxxxx412
13dx10
14dxx214
Formeln der Tabelle
ZelleFormel
F2=WENN(UND($A2=$A1;ISTTEXT(F1));F1;"")
G2=ZÄHLENWENN(B2:F2;"x")
H2=WENN(G3<=G2;ZEILE();0)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
  • Spalten A:H kopieren und als Wert einfügen
  • Markierung so lassen
  • Daten, Duplikate entfernen, Spalte H
       
Ergebnis:
ABCDEFGH
1PersonM1M2M3M4M500
2axxx34
3bxxxx48
4cxxxx412
5dxx214

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Hilfsspalten G:H können jetzt gelöscht werden …

War doch ganz einfach! ;)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Noch eine Erleichterung:
Statt
Zitat:
  • F5, Inhalte, Leerzellen
  • Formel =WENN(UND($A2=$A1;ISTTEXT(C1));C1;"") (C2 ist aktiv daher 2mal C1 in der Formel)

lautet die Formel besser:
=WENN(UND(INDEX($A:$A;ZEILE())=INDEX($A:$A;ZEILE()-1);ISTTEXT(INDEX($A:$F;ZEILE()-1;SPALTE())));INDEX($A:$F;ZEILE()-1;SPALTE());"")

Dann braucht man nicht darauf zu achten, welche Zelle nach der Auswahl der Leerzellen aktiv ist.

:19:
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#5
@ Super das hat auch ohne die Erleichterung super funktioniert. Mit wahrscheinlich noch besser ;)
Vielen herzlichen Dank!!! :28:
Top
#6
Hat mir ja Spaß gemacht, zumal die Ausgangslage perfekt erklärt wurde.
Und wenn mein Ehrgeiz erst mal gepackt ist …
:05:
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


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