Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeilen Zusammenfügen und überschuss löschen
#1
Hi ,

Ich bin relativ neu bei der nutzung von Excel.
Ich muss für einen recht großen datensatz (|150000 Zeilen) im excel etwas formatieren, und bin mir nicht gánz sicher, wie ich das am effektievsten mache.
Ich muss, wenn in Spalte A das exact gleiche steht, alle Spalten B in der obersten Zeile a zusammenfügen ( durch ein , getrennt) (entweder in spalte B oder einer neuen Spalte C).
Und danach muss ich alle, bis auf die oberste Spalte A mit jeweils einmaligem text löschen.
Und danach Spalte B komplet löschen/ausblenden bzw. bis auf die oberste Zeile jeweils.


Um das Problem etwas leichter darstellen zu können, poste ich euch mal eine kurze Beispieltabelle .

_______A_______B
1_____At01_____aa
2_____At01_____bb
3_____At01_____cc
4_____At02_____aa
5_____At02_____dd
6_____At03_____ff
7_____At04_____xx
8_____At04_____yy

Das Ziel sollte sein das diese Tabelle danach so aussieht

_______A_______B
1_____At01_____aa,bb,cc
2_____At02_____aa,dd
3_____At03_____ff
4_____At04_____xx,yy


Würde mich über jede Hilfe sehr freuen

lg, Philipp


Angehängte Dateien
.xlsx   Mappe1.xlsx (Größe: 8,39 KB / Downloads: 2)
Antworten Top
#2
Hallo,

bezogen auf deine Beispielsdatei:

Die Spalte A in die Spalte D kopieren und über Daten - Duplikate entfernen die doppelten Wert löschen.

Den folgenden Code in ein allgemeines Modul der Datei kopieren (Anleitung am Ende des Postings):

Code:
Function SummeWennText( _
                        SuchSpalte As Range, _
                        Suchbegriff As String, _
                        TextSpalte As Range, _
                        Optional TrennZeichen As String = "" _
                        ) As String
'http://www.office-loesung.de/fpost1924484.php#1924484
Dim arrS
Dim arrT
Dim i As Long
arrS = SuchSpalte.Value
arrT = TextSpalte.Value
For i = 1 To WorksheetFunction.Min(UBound(arrS, 1), UBound(arrT, 1))
    If arrS(i, 1) = Suchbegriff Then SummeWennText = SummeWennText & TrennZeichen & arrT(i, 1)
Next
SummeWennText = Mid(SummeWennText, Len(TrennZeichen) + 1)
End Function

In E1 die folgende Formel eintragen

=Summewenntext(A$1:A$12;D1;B$1:B$12;";")

und nach unten kopieren

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDE
1aaa aaa;bb;cc
2abb baa;bb
3acc caa;dd;ee;ff
4baa daa;xx
5bbb eaa
6caa   
7cdd   
8cee   
9cff   
10daa   
11dxx   
12eaa   

ZelleFormel
E1=Summewenntext(A$1:A$12;D1;B$1:B$12;";")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

- Öffne mit Alt+F11 den VBA-Editor
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- Tastenkombination Alt+E und dann M drücken
- in der rechten Fensterhälfte ist jetzt ein leeres Modul eingefügt worden
- in dieses Modul muss der Code eingefügt werden
- im Projektexplorer wird das Modul unter der Datei angezeigt
- speichen und den VBA-Editor mit Alt+F4 schliessen
- das Makro bzw. die Funktion steht dir jetzt in dieser Datei zur Verfügung und kann mit Alt-F8 aufgerufen werden
Gruß
Peter
Antworten Top
#3
Super schonmal vielen dank für die antwort.

Ich glaub es macht wohl doch mehr sinn wenn ich dir einen Teil der Auswertung poste die ich zu machen habe.

In dem Beispiel muss ich alle  Exchanges den jeweiligen gleichen InstrIsin zuordnen.

Also Soll jede InstrIsin nur einmalig vorkommen mit all den dazugehörigen daten (die in allen Zeilen Ident sind bis auf die Spalte Exchanges)

wenn mir dabei noch jemand helfen könne wäre es sehr toll

lg philipp


Angehängte Dateien
.xlsx   test1.xlsx (Größe: 10,99 KB / Downloads: 5)
Antworten Top
#4
Hallo,

soll das Endergebnis so aussehen wie in der beigefügten Datei?

Wenn ja dann ändert sich die Vorgehensweise nur gnaz marginal:

VBA-Code in ein allgemeines Modul kopieren - Tabellenblatt kopieren - Im neuen Tabellenblatt Duplikate entfernen bezogen auf Spalte A - Formel anpassen für Spalte P.


Angehängte Dateien
.xlsm   CEF-7256.xlsm (Größe: 19,66 KB / Downloads: 5)
Gruß
Peter
Antworten Top
#5
super das ist genau das was ich will
vielen dank
Antworten Top
#6
Ich bin technisch anscheinend wirkilich nicht sehr begabt ;)

kannst du es mir bitte nocheinmal schritt für schritt erklären ich wäre dir wirklich sehr dankbar

edit:

das einfügen der Funktion in das modul hab ich soweit, jedoch bekomme ich den rest nicht ganz hin
und in dem von dir geposteten Beispiel finde ich das leider nicht

lg philipp
Antworten Top
#7
Hallo,

das Tabellenblatt kopieren - eine Zelle der Spalte A markieren - Menpü Daten - Duplikate entfernen - Im Fenster 'Duplikate entfernen' auf den Button 'Markierung aufheben' klicken - die Spalte A( InstrIsin) anklicken - OK.

Damit sind alle doppelten Werte der Spalte A gelöscht. In Spalte P die Formel eingeben. Wenn dort kein Ergebnis sondern der Text der Formel erscheint: Spalte P markieren - Rechte Maus - Zellen Formatieren - Standard wählen - Ok - Menü Daten - Text in Spalten - Fertigstellen anklicken.
Gruß
Peter
Antworten Top
#8
Hi Peter,

Ich weiß ich werde langsam lästig ;)

aber ich habe noch eine letzte Frage.


"In Spalte P die Formel eingeben" Hier habe ich die Formel aus deinem Beispieldokument übertragen (=Summewenntext(Tabelle1!A:A;A2;Tabelle1!P:P;", ") )

Ich habe jetzt jedoch in jeder Zeile das Ergebnis aus Zeile 1.

Ich habe Spalte P Ausgewählt und mit strg in P2 geklickt und dort die Formel eingegeben und mit strg + enter Bestätigt

Wie mache ich die Formel Zeilenspezifisch??

lg Philipp
Antworten Top
#9
Hallo,

teste mal diese Vorgehensweise aus meinem letzten Posting:

Zitat:Wenn dort kein Ergebnis sondern der Text der Formel erscheint: Spalte P markieren - Rechte Maus - Zellen Formatieren - Standard wählen - Ok - Menü Daten - Text in Spalten - Fertigstellen anklicken.
Gruß
Peter
Antworten Top
#10
Hi peter

ja das hab ich auch getestet,

Jedoch nimmer die Abfrage dann wie gesagt nur die Exchanges aus der ersten InstrIsin für alle InstrIsin her.

es wird halt =Summewenntext(Tabelle1!A:A;A2;Tabelle1!P:P;", ") In jeder Zeile abgefragt also denke ich das sich jede zeile dann auf A2 bezieht

In deinem Beispiel ist das in jeder Zeile anders also für Zeile A3:     A3 // A4:       A4

Ich weiß halt nicht wie ich das excel sage das es das Zeilenspezifisch macht

lg
Antworten Top


Gehe zu:


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