# [EXCEL 2000] Doppelte Datensätze zusammenführen



## jojaeger (13. Mai 2007)

Hallo und Dankefür eure Hilfe 

Ich habe eine T1 mit 
A         B            C
Name Vorname  Zahl 
Müller  M            1
Werner H            2
Huber  T              5
Müller  M             2


Diese Daten möchte ich in einer T2 zusammenführen 

A          B         C      D     
Müller   M         1       2
Werner H          2
Huber    T         5 

Also wenn ein Name mehrmals auftaucht den namen einmal übertragen und die dazugehöhrigen Zahlen in den Spalten c,d,e,f  usw  aufreihen . Es solten in der T2 also die Name nur einmal auftauchen mit allen dazugehörigen Zahlen dahinter. 

Ich hoffe das Problem ist für euch Spezis nicht so schwer . Danke für eure Mühe und Zeit
Gruß JJ


----------



## larryson (13. Mai 2007)

Ähmm, Excel, Access, Openoffice, Staroffice, auf Papier geschrieben?

Wenigstens das Datenformat solltest Du mitteilen.


----------



## jojaeger (13. Mai 2007)

Sorry Larry du hats Recht . Es ge´ht um eine Excel 2000 Tabelle
Gruß JJ


----------



## larryson (14. Mai 2007)

Puh,  das klingt schwierig für Excel.

Ich würde es wahrscheinlich so vorgehen.

Erstmal eine 'bereinigte' Liste der Daten aus Spalte A & B, also Nachname und Vorname, so daß jeder Name nur einmal vorkommt. Das bekommst Du mit dem Spezialfilter hin. Die Liste läßt Du Dir auf ein neues Tabellenblatt ausgeben.

Die Spalten C bis .... müsstest/könntest Du Dir dann per VBA füllen lassen. 

Oder etwas schneller, vielleicht nicht ganz optimal, dafür aber schneller und ohne viel Aufwand, eine Pivottabelle. Siehe Screenshot.


----------



## Leola13 (14. Mai 2007)

Hai,

sind alle Namen aus T1 in T2 enthalten ? Oder welche Datei enthält mehr, bzw. den richtigen Datenstamm ?

Ansonsten, alle Namen (evtl. Name und Vorname) in einem neuen Blatt untereinander kopieren. Über den Spezialfilter die Namen kopieren (Keine Duplikate !). Dann mit dieser bereinigen Namensliste über SVERWEIS die entsprechenden Daten hinzufügen.

Ciao Stefan


----------



## jojaeger (14. Mai 2007)

Hallo zusammen , HalloStefan , 
Also in T1 sind alle Namen enthalten und Teile davon werden durch ein Selektionsfeld in T2 übertragen.  Würden Kundennummern helfen ? 

 Ja bis jetzt muß ich die Daten in T2 nach Namen sortieren und dann die Doppelten Zahlen aus C1,2,3, ..  per Hand in diein D1 E1 usw. kopiern. 
Ich würde halt gerne  eine Formel finden für T2 Zelle D1 die nach weiteren Müllers ( Kundennummer von Müller) sucht und wenn sie die findet die Zahl ( im Beispiel c4) nach D1 extrahiert oder auf Null gesetzt . 
Der doppelte Datensatz kann erhalten belieben oder gelöscht werden.

Also Formel für Zelle D1 etwa " suchen nach Kundennummer( Namen)  gleich A1, wenn ja kopiere die dritte Zelle in der Zeile und setzte die Zelle = 0 

Danke für eure Zeit und Hilfe

A                 B
Name  	Menge
Brunhilde	1
Carmen	1
Dagmar	2
Dagmar	1
Dora	          1
Ewald	         1
Fritz          	1
Gertrud	1
Gertrud	1
Heinrich	1
Heinz 	1
Heinz	         2
Heinz	         1
Heinz	         1
Zampano	1

T2 
A        B 
Name	Menge	Menge #2	Menge #3	Menge #4
Brunhilde	1			
Carmen	1			
Dagmar	2	1		
Dora	          1			
Ewald	         1			
Fritz	         1			
Gertrud	1	1		
Heinrich	1			
Heinz	        1	 2	        1	        1
Zampano	1


----------



## larryson (14. Mai 2007)

Leola13 hat gesagt.:


> Hai,
> 
> Ansonsten, alle Namen (evtl. Name und Vorname) in einem neuen Blatt untereinander kopieren. Über den Spezialfilter die Namen kopieren (Keine Duplikate !). Dann mit dieser bereinigen Namensliste über SVERWEIS die entsprechenden Daten hinzufügen.
> 
> Ciao Stefan



An so etwas hatte ich auch gedacht, allerdings ist bis jetzt ja ungewiss, wieviele Spalten es nach rechts gibt, also wie viele Mengen. Wie sollte der SVerweis den den zweiten "Müller" finden? 

@jojaeger
Was spricht gegen die Pivottabelle, mit dem Assistenten hast Du die in nichtmal 2 Minuten fertig?
Kundennummern würden helfen, die sind einfacher zu vergleichen.

Darf ich fragen, was Du mit den Mengen vorhast?


----------



## Leola13 (14. Mai 2007)

Hai,

gibt es die Namen mehr als doppelt ?

Bei nur doppelten :

=SVERWEIS(A2;Tabelle1!A$1:C$6;3;FALSCH)  für den ersten vorkommenden Datensatz

=WENN(VERWEIS(2;1/(Tabelle1!A$1:A$6=A2);Tabelle1!C$1:C$6)=C2;"";VERWEIS(2;1/(Tabelle1!A$1:A$6=A2);Tabelle1!C$1:C$6))  für den zweiten vorkommenden Datensatz

Bei mehr funktioniert es so nicht.

Ciao Stefan


----------



## jojaeger (14. Mai 2007)

Hallo Stefan ja max 4 mal können die Namen auftauchen .


----------



## larryson (15. Mai 2007)

Und um wieviele Namen handelt es sich? Kommen welche dazu?


----------



## jojaeger (15. Mai 2007)

Hallo Larryson , es sind so ca 100 Namen


----------



## larryson (15. Mai 2007)

Dann verweise ich auf Beitrag #4. Hundert Datensätze sind mit 1-4 Einträgen wäre etwas viel für eine manuelle Bearbeitung. 

Also entweder VBA-Code oder die Pivottabelle. Entscheiden mussst Du Dich.


----------



## jojaeger (15. Mai 2007)

Wenn es eine Möglichkeit gibt ,würde ich die einfachste wählen, Die Pivottabelle klingt für mich am einfachsten lol ( Sorry )  Wenn es nicht geht ist es auch nicht schlimm , dann muss es weiter von Hand gehen . Danke JJ


----------



## larryson (15. Mai 2007)

Dann nimm die Pivottabelle, die kann man auch ganz einfach aktualisieren und wenn Du kannst gleich ein wunderschönes Diagramm damit basteln.

Ansonsten schöne Grüße und viel Spass


----------



## Leola13 (15. Mai 2007)

Hai,

Tabellenaufbau : Name (A), Vorname (B), Zahl (C)
Sortieren nach Name
in D folgende Formel : =+WENN(A2=A1;"";(WENN(A2=A3;C3;"")))
in E folgende Formel : =+WENN(A2=A1;"";(WENN(A2=A4;C4;"")))
in F folgende Formel : =+WENN(A2=A1;"";(WENN(A2=A5;C5;"")))
diese entsprechend nach unten kopieren.

Dann erhältst du hinter dem ersten doppelten Eintrag die restlichen Zahlenwerte.
Wenn dir das reicht, dann fertig.

Ansonsten über Filter Spezialfilter die Namen an eine andere Stelle kopieren (ohne Duplikate !)
In einem neuen Blatt (nicht zwingend nötig) folgende Formel einfügen :
=+WENN(Tabelle1!J2>0;Tabelle1!J2;"")  (J ist der Bereich in dem beim mir die "gesäuberte" Namensliste steht.
Die Formel stehen in Spalte A.
IN Spalte B steht bei mir : =WENN(ISTFEHLER(SVERWEIS(A2;Tabelle1!A$1:C$22;2;FALSCH));"";SVERWEIS(A2;Tabelle1!A$1:C$22;2;FALSCH))  für Nachnamen

In C : =WENN(ISTFEHLER(SVERWEIS($A2;Tabelle1!$A$1:$F$22;3;FALSCH));"";SVERWEIS($A2;Tabelle1!$A$1:$F$22;3;FALSCH))

in D : =WENN(ISTFEHLER(SVERWEIS($A2;Tabelle1!$A$1:$F$22;4;FALSCH));"";SVERWEIS($A2;Tabelle1!$A$1:$F$22;4;FALSCH))

und entsprechend weiter. Es ändert sich nur der Spaltenindex.

Ciao Stefan


----------



## jojaeger (22. Mai 2007)

Hallo Stefan  
Danke für deine Lösung 
Tabellenaufbau : Name (A), Vorname (B), Zahl (C)
Sortieren nach Name
in D folgende Formel : =+WENN(A2=A1;"";(WENN(A2=A3;C3;"")))
in E folgende Formel : =+WENN(A2=A1;"";(WENN(A2=A4;C4;"")))
in F folgende Formel : =+WENN(A2=A1;"";(WENN(A2=A5;C5;"")))
diese entsprechend nach unten kopieren.
Kannst du die Formel noch etwas ausbauen ? . Sie macht genau was ich möchte nur sie arbeitet nur mit dem Familiennamen und bezieht den Vornamen nicht mit ein. Also wenn ich Müller max und Müller Ernst habe schmeißt er die beiden zusammen. 
Soll ich die Namen in einer Spalte zusammenfassen ? 
Gruß JJ


----------



## Leola13 (24. Mai 2007)

Hai,

wenn möglich fass in einer neuen Spalte den Namen und Vornamen zusammen (Textfunktion : VERKETTEN).

Evtl. wäre es auch möglich diese Verkettung in die Abfrage einzubauen. Falls ich Zeit habe probiere ich das mal.

Ciao Stefan


----------



## jojaeger (24. Mai 2007)

Hallo Stefan , 
mit der Zusammenfassung geht es super.  Gibt es jetzt die Möglichkeit. die Abläufe zu automatisieren . 
Ich mache jetzt folgendes . Ich sortiere nach Namen . Danke deiner Formel gibt er mir dann die Zahlen hintereinander . Jetzte muß ich die übernommenen Zahlen löschen und die Liste nochmals sortieren.
Dann habe ich das Ergebniss . ich bin sehr zufrieden und danke dir sehr .  Gruß JJ


----------

