Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten in Zeilen und gleiche Werte zusammenfassen

Spalten in Zeilen und gleiche Werte zusammenfassen
12.10.2006 15:19:29
Thomas
Hi, ist es moeglich folgende Werte aus den Spalten in Zeilen umzukonvertieren?
Bin am verzweifeln und bekomme es nicht hin. Habe transpose,if-abfragen,vlookup und sonstiges probiert und bekomme es nicht hin..
Hoffe es ist doch so einfach wie es aussieht....
(Die schwierigkeit liegt wohl darin die mehrfachen nummern zussammenzufassen und die Werte dazu waagerecht anzuordnen)
Gegeben:
100001627 FR10
100001627 FR12
100001627 FR34
100001627 FR65
100001628 SG10
100007831 FR12
100007831 FR65
100007831 FR78
100007831 US16
100007970 CH12
100007970 CH27
100007970 GB23
100009802 MY12
100009802 MY13
100009802 PL10
..........
Erhofftes Ergebniss:
100001627 FR10 FR12 FR34 FR65
100001628 SG10
100007831 FR12 FR65 FR78 US16
100007970 CH12 CH27 GB23
100009802 MY12 MY13 PL10
Habe auch leider absolut keinen gefunden der ein aehnliches Problem hatte.
Hoffentlich hat jemand eine Loesung :-(
VBA wuerde ich auch probieren falls nichts hilft....
Danke und Gruesse
Thomas
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten in Zeilen und gleiche Werte zusammenfassen
12.10.2006 16:33:02
fcs
Hallo Thomas,
als 1. Ansatz um die Daten umzugruppieren hier eine Formellösung. Dabei werden für die mehrfach vorkommenden Einträge in Spalte A in den Formeln Leerstrings eingetragen.
Im 2. Schritt muss du die Formelergebnisse kopieren und in einem in einem anderen Tabellenbereich als Werte einfügen. Dann kannst du Werte neu sortieren, um die "leeren" Zeilen wegzuschaffen.
https://www.herber.de/bbs/user/37345.xls
Gruß
Franz
Anzeige
AW: Spalten in Zeilen und gleiche Werte zus.
12.10.2006 16:35:08
Daniel
Hallo
das was du vorhast, ist schon etwas aufwendiger, aber so sollte es funktionieren:
1. mit "Daten-Text in Spalten" die Werte beim " " in Zweit Spalten aufteilen (in zukunft Nummer und Anhang benannt
2. in einer dritten Spalte mit folgender Formel die Zähl-Nr bestimmen, wie oft jede Nummer bisher vorkommt(absolute und Relative addrssierung beachten):
=ZÄHLENWENN(B$2:B2;B2)
3. eine weitere Hilfsspalte VOR den Daten einfügen, hier setzt du Nummer und Zähl-Nr zu einer ID-Nr. zusammen:
=B2&"-"&D2
4. jetzt filterst du die Zähl-Nr. nach 1, und kopierst die Werte in eine andere Tabelle
damit hast du jede vorkommende Nr. genau 1x
5. in der neuen Tabelle fügst du als Spalten-überschrift die Nummern von 1 bis zur görßten Zähl-Nr. ein
6. jetzt kannst du im Tabellen-Körper per SVerweis die Daten holen. Den Suchbegriff setzt du dir aus den Reihen- und Spaltenüberschriften zu sammen.
=SVERWEIS($A2&"-"&B$1;ausgangsdaten!$A$2:$C$16;3;0)
7. wenn dich das #NV bei den daten stört, die weniger als die Max-Anzahl vorkommen, must du noch eine Wenn-Abfrage einbauen. Die Formel im Tabellenkörper sieht dann so aus:
=WENN(B$1&lt=ZÄHLENWENN(ausgangsdaten!$B:$B;$A2);SVERWEIS($A2&"-"&B$1;ausgangsdaten!$A$2:$C$16;3;0);"")
im Beispiel wird vielleicht klarer. https://www.herber.de/bbs/user/37346.xls
Wenn diese Arbeit öffters vorkommt, sollte man aber vielleicht doch ein Makro schreiben.
Gruß, Daniel
Anzeige
AW: Spalten in Zeilen und gleiche Werte zusammenfassen
13.10.2006 09:09:22
Thomas
Suuper .. vielen, vielen Dank.
Das hat mir sehr weitergeholfen :-)
Ein eventuelles Makro muesste man dann wohl nur noch irgendwie aufzeichenen denke ich oder?
Vielen Dank nochmal
Gruesse
Thomas
AW: Spalten in Zeilen und gleiche Werte zusammenf
13.10.2006 11:27:35
Daniel
Hallo
normalerweise ja, aber in dem Fall wird etwas komplexer, da das Makro ja auch darauf reagiern muß vieviele Spalten maximal benötigt werden.
Außderdem würde ich hier die zusätzlichen VBA-Möglichkeiten nutzen und etwas anders vorgehen, um mir die zwischenschritte wie Daten zerlegen,Sortieren, Hilfsspalten einfügen, Autofilter usw. zu sparen.
Bei der Makrolösung bspw. brauchen die Daten auch nicht sortiert zu sein.

Sub Umformen()
Dim arrDaten
Dim i As Long
Dim Zeile As Long
Dim Nummer As Long
Dim Anhang As String
'--- Daten in eine Array-Variable kopieren
With Sheets("Original")
arrDaten = Range(.Cells(1, 1), .Cells(1, 1).End(xlDown))
End With
'--- Daten neu anordnen
With Sheets("Ergebnis")
.Cells.ClearContents
For i = 1 To UBound(arrDaten)
'--- Wert zerlegen in Nummer und Anhang
Nummer = CLng(Left(arrDaten(i, 1), 9))
Anhang = Right(arrDaten(i, 1), 4)
'--- Prüfen, ob Nummer schon vorhanden, wenn nicht, einfügen
If WorksheetFunction.CountIf(.Columns(1), Nummer) = 0 Then
.Cells(65000, 1).End(xlUp).Offset(1, 0).Value = Nummer
End If
'--- Anhang an Nummer anfügen
Zeile = WorksheetFunction.Match(Nummer, .Columns(1), 0)
.Cells(Zeile, 255).End(xlToLeft).Offset(0, 1).Value = Anhang
Next
.Select
End With
End Sub

Gruß, Daniel
PS.
damit das Makro läuft, müssen
- die orginal-Daten in einer Mappe "Original" in der Spalte A ohne überschrift stehen.
- eine Mappe "Ergebni" vorhanden sein. In dieser werden die Daten neu angeordnet
Anzeige
AW: Spalten in Zeilen und gleiche Werte zusammenf
13.10.2006 21:52:09
Thomas
Danke, danke, danke Daniel...
Das Makro funktioniert auch... :-)
Habe nur noch:
Nummer = CLng(Left(arrDaten(i, 1), 9))
Anhang = Right(arrDaten(i, 1), 4)
durch:
Nummer = Cells(i, 1)
Anhang = Cells(i, 2)
ersetzt da ich die Daten schon in zwei verschiedenen Spalten hatte.
Das habe ich mit meinem Halbwissen in einer dreiviertel Stunde gerade noch so hinbekommen :-). Das Makro ist schon besser da ich es vielleicht noch oefters brauchen werde.
Echt vorteilhaft wenn man sich mit sowas auskennt.
Gruesse
Thomas
Anzeige
AW: Spalten in Zeilen und gleiche Werte zusammenf
14.10.2006 13:49:40
Daniel
Hallo
schön, daß ich helfen konnte, mit dem Makro brauchst du jetzt auch die Liste nicht mehr in zwei Spalten aufteilen, das macht ja das Makro selbst.
Gruß, Daniel
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Spalten in Zeilen umwandeln und gleiche Werte zusammenfassen


Schritt-für-Schritt-Anleitung

Um Werte in Excel zu transformieren und gleiche Werte zusammenzufassen, kannst du folgende Schritte ausführen:

  1. Daten aufbereiten: Stelle sicher, dass deine Daten in einer Excel-Tabelle gut strukturiert sind, wie im Beispiel von Thomas.

  2. Text in Spalten aufteilen: Nutze die Funktion Daten -> Text in Spalten, um die Spalten zu trennen, falls dies nicht bereits geschehen ist.

  3. Zähl-Nr. bestimmen: Füge eine Hilfsspalte hinzu und verwende die Formel:

    =ZÄHLENWENN(B$2:B2;B2)

    Diese zählt, wie oft jede Nummer vorkommt.

  4. ID-Nr. erstellen: Kombiniere Nummer und Zähl-Nr. in einer neuen Hilfsspalte:

    =B2&"-"&D2
  5. Filter anwenden: Filtere die Zähl-Nr. nach 1, um jede Nummer nur einmal zu haben.

  6. SVerweis verwenden: Nutze die SVERWEIS-Funktion, um die entsprechenden Werte zu holen:

    =SVERWEIS($A2&"-"&B$1;ausgangsdaten!$A$2:$C$16;3;0)
  7. Leere Zeilen entfernen: Kopiere die Ergebnisse und füge sie als Werte in einen neuen Bereich ein. Sortiere die Daten, um leere Zeilen zu entfernen.


Häufige Fehler und Lösungen

  • Leere Zellen nach dem Zusammenfassen: Wenn du leere Zellen siehst, überprüfe, ob deine Formeln korrekt sind und ob du die Daten richtig gefiltert hast.

  • Falsche Ergebnisse mit SVerweis: Stelle sicher, dass die Bereiche korrekt angegeben sind und dass du absolute Adressierung verwendest.

  • Doppelte Werte nicht erkannt: Überprüfe die Formatierung der Zellen; manchmal können führende oder nachfolgende Leerzeichen Probleme verursachen.


Alternative Methoden

Falls die oben genannten Schritte für dich nicht funktionieren, kannst du auch VBA verwenden. Hier ist ein einfaches Skript, das dir hilft, Daten zusammenzufassen:


Sub Umformen()
    Dim arrDaten
    Dim i As Long
    Dim Zeile As Long
    Dim Nummer As Long
    Dim Anhang As String

    ' Daten in ein Array kopieren
    With Sheets("Original")
        arrDaten = Range(.Cells(1, 1), .Cells(1, 1).End(xlDown))
    End With

    ' Neu anordnen
    With Sheets("Ergebnis")
        .Cells.ClearContents
        For i = 1 To UBound(arrDaten)
            Nummer = CLng(Left(arrDaten(i, 1), 9))
            Anhang = Right(arrDaten(i, 1), 4)

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige