Microsoft Excel

Herbers Excel/VBA-Archiv

Transponieren von Daten und löschen von Duplikaten

Betrifft: Transponieren von Daten und löschen von Duplikaten von: Chris
Geschrieben am: 03.11.2020 13:47:09

Hi Team,


folgende Situation:

Ich habe zwei Spalten. Die erste Spalte enthält Accountnummern, die zweite enthält Rechnungsnummern.

In der ersten Spalte enthält Duplikate, die zweite Spalte nur Unikate.

Es ist also so, das ein Account mehrere Rechnungsnummern aufweist.


Ich möchte nun über ein Makro steuern, dass auf einem Arbeitsblatt alle Accountnummern ohne Dublikate vertikal angezeigt werden und die dazugehörenden Rechnungsnummern horizontal.


Beispiel wie mir die Daten vorliegen:


Account Document Number

1000045210 7600192426

1000046026 7600192750

1000046483 7600191990

1000046483 7600191991

1000046483 7600191992

1000047876 7600192846

1000047876 7600192847

1000047876 7600192848

1000047876 7600192526

1000047876 7600192849

1000047876 7600192844

1000047876 7600192525

1000047876 7600192845

1000048659 7600192927

1000112817 7600192431

1000182612 7600192570

1000182972 7600192347

1000190141 7600192360

1000190141 7600192076

1000190141 7600192627

1000200532 7600192085

1000200532 7600192717


Beispiel wie ich die Daten brauche:


Account Document Number Document Number Document Number Document Number Document Number Document Number Document Number Document Number

1000045210 7600192426

1000046026 7600192750

1000046483 7600191990

1000046483 7600191991 7600191992

1000047876 7600192846 7600192847 7600192848 7600192526 7600192849 7600192844 7600192525 7600192845

1000048659 7600192927

1000112817 7600192431

1000182612 7600192570

1000182972 7600192347

1000190141 7600192360 7600192076 7600192627

1000200532 7600192085 7600192717


Für jegliche Hilfe wäre ich dankbar.


Cheers


Chris

Betrifft: AW: Transponieren von Daten und löschen von Duplikaten
von: Daniel
Geschrieben am: 03.11.2020 14:01:19

Hi

erstmal ohne Makro. Wenn du die Schritte verstanden hast, lässt sich diese Methode aber gut mit dem Recorder aufzeichnen, um sie als Makro auszuführen (Recorder Code muss IMMER überarbeitet werden)

1. sortiere nach Spalte A, so dass gleiche Accountnummern untereinander stehen
2. füge in die Spalte C von Zeile 1 bis Ende diese Formel ein: =B1&Wenn(A1=A2;" "&C2;"")
3. kopiere die Spalte C und füge sie an gleicher Stelle als Wert ein
4. wende auf die Spalten A-C die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN an, mit Spalte A als Kriterium
5. Wende auf die Spalte C die Funktion DATEN - DATENTOOLS - TEXT IN SPALTEN mit dem Leerzeichn als Trennzeichen an.
6. lösche die Spalte B

Gruß Daniel

Betrifft: AW: Transponieren von Daten und löschen von Duplikaten
von: Chris
Geschrieben am: 03.11.2020 15:37:33

Hi Daniel,

danke dir vielmals für deine schnelle Antwort.
Leider komme ich nicht weit bei der Umsetzung.
Bei Punkt 2 deiner Vorgehensweise bekomme ich ene Fehlermeldung wenn ich
=B1&Wenn(A1=A2;" "&C2;"")
Einfüge. Da mein Excel in englisch gehalten ist habe ich deine Formel umgeschrieben zu
=B1&if(A1=A2;" "&C2;"")
bei der Bestätigung kommt dann eine Fehlermeldung die ich angehängt habe.



Kannst du mir da bitte weiterhelfen?

Danke dir nochmals!

Cheers

Chris

Betrifft: AW: Transponieren von Daten und löschen von Duplikaten
von: Daniel
Geschrieben am: 03.11.2020 15:41:36

Hi
prüf mal, ob du die Formel auch vollständig in deine Sprachversion übersetzt hast.
Sprachversionsabhängig sind nicht nur die Funktionsnamen, sondern auch der Parametertrenner und ggf das Dezimalzeichen.
Gruß Daniel

Betrifft: AW: Transponieren von Daten und löschen von Duplikaten
von: Chris
Geschrieben am: 03.11.2020 17:14:40

Hi Daniel,

herzlichen Dank. Es macht genau das was ich will.
Ich musste erst mal gut Maß nehmen um die Formel zu verstehen.
Aber danach und nach Anpassung der Parameter an meinen Sprachsatz lief es dann.

Danke dir nochmals

Chris

Betrifft: AW: wenn keine Massendaten auszuwerten sind ...
von: neopa C
Geschrieben am: 03.11.2020 15:01:05

Hallo Chris,

... kann man das alternativ auch mit nur zwei Formel auswerten. Wäre das von Interesse?

Gruß Werner
.. , - ...

Betrifft: AW: wenn keine Massendaten auszuwerten sind ...
von: Chris
Geschrieben am: 03.11.2020 15:40:14

Hi Werner,

vielen Dank für deine Antwort.
Wenn dieses Problem mit zwei Formeln zu erschlagen wäre würde ich so eine Lösung natürlich auch haben wollen. Wichtig ist nur das es userfreundlich ist, ich möchte das meine Kollegen wirklich nur auf einen button klicken brauchen und die arbeit ist erledigt.

Danke dir nochmals

Cheers

Chris

Betrifft: AW: wenn keine Massendaten auszuwerten sind ...
von: Chris
Geschrieben am: 03.11.2020 15:52:37

Hi Werner,

vielen Dank für deine Antwort.
Wenn dieses Problem mit zwei Formeln zu erschlagen wäre würde ich so eine Lösung natürlich auch haben wollen. Wichtig ist nur das es userfreundlich ist, ich möchte das meine Kollegen wirklich nur auf einen button klicken brauchen und die arbeit ist erledigt.

Danke dir nochmals

Cheers

Chris

Betrifft: AW: für die 2 Formeln reichen 3 Funktionen ...
von: neopa C
Geschrieben am: 03.11.2020 16:22:06

Hallo Chris,

... z.B. nachfolgende Formel D2 und E2 nach unten und E2 zusätzlich nach rechts ziehend kopieren.

Arbeitsblatt mit dem Namen 'Tabelle5'
 ABCDEFGHIJKLM
1Account
Document
Number Account
Document
 Number       
210000452107600192426 10000452107600192426        
310000460267600192750 10000460267600192750        
410000464837600191990 1000046483760019199076001919917600191992      
510000464837600191991 100004787676001925257600192526760019284476001928457600192846760019284776001928487600192849 
610000464837600191992 10000486597600192927        
710000478767600192846 10001128177600192431        
810000478767600192847 10001826127600192570        
910000478767600192848 10001829727600192347        
1010000478767600192526 1000190141760019207676001923607600192627      
1110000478767600192849 100020053276001920857600192717       
1210000478767600192844           
1310000478767600192525           
1410000478767600192845           
1510000486597600192927           
1610001128177600192431           
1710001826127600192570           
1810001829727600192347           
1910001901417600192360           
2010001901417600192076           
2110001901417600192627           
2210002005327600192085           
2310002005327600192717           
24             

ZelleFormel
D2=WENNFEHLER(AGGREGAT(15;6;A$2:A$99/(A$2:A$99>0)/(ZÄHLENWENN(D$1:D1;A$2:A$99)=0);1);"")
E2=WENNFEHLER(AGGREGAT(15;6;$B$2:$B$99/($A$2:$A$99=$D2);SPALTE(A1));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg


Gruß Werner
.. , - ...

Betrifft: AW: für die 2 Formeln reichen 3 Funktionen ...
von: Chris
Geschrieben am: 05.11.2020 14:42:25

Hallo Werner, ebenso sehr elegant. Werde es gleich mal umsetzen. Danke dir und auch allen anderen Forenteilnehmer für die kompetente Hilfe!

Cheers

Chris

Betrifft: AW: gerne owT
von: neopa C
Geschrieben am: 05.11.2020 15:28:44

Gruß Werner
.. , - ...

Beiträge aus dem Excel-Forum zum Thema "Transponieren von Daten und löschen von Duplikaten"