Clever-Excel-Forum

Normale Version: Inhalt einzelner Zeilen zusammenführen und mit Komma trennen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

Gleich vorweg, ich bin kein Profi. Allerdings versuche ich immer wieder mit Excel klar zukommen Sleepy Heute tüftle ich schon ewig an folgendem Problem:
Ich habe in mehreren Zeilen verschiedene Werte in verschiedenen Spalten, welche ich gerne am Ende durch ein Komma + Leerzeichen getrennt in einer Zelle zusammenfassen möchte. Dies benötige ich für einen Serienbrief. Eigentlich ja kein Problem. Allerdings ist der Inhalt pro Zeile immer unterschiedlich lang und wenn es dann einen kürzeren Inhalt gibt, habe ich ein Problem mit den Kommas. Das sieht dann Beispielsweise so aus: 2, 3, 4, 5, 6, , , , , ,. Und genau um diese Komas am Ende geht es. Die sollen dort nicht stehen, egal wie lang der Inhalt ist. Ich weiß jetzt nicht, ob ich mich verständlich ausgedrückt habe, deshalb hänge ich hier noch ein Bild an. 

Besten Dank für Eure Hilfe

[Bild: Excel.jpg]
Hallo

In Office 365 und in Excel Online ist die Funktion TEXTVERKETTEN() verketten verfügbar.
Ansonsten gibt es Lösungen mit Hilfsspalten oder mit UDFs (z.B. VJoin von Castor).
Hallo,

ich habe da noch einen VBA-Code in meinem Fundus der dir auch helfen könnte:

Folgender VBA-Code muss in ein Modul der Tabelle (*):
Code:
Function Verketten2(ByRef bereich As Range, Trennzeichen As String) As String
Dim rng As Range
   For Each rng In bereich
      If rng <> "" Then
      Verketten2 = Verketten2 & rng & Trennzeichen
      End If
   Next
If Len(Verketten2) > 0 Then _
Verketten2 = Left(Verketten2, Len(Verketten2) - Len(Trennzeichen))
End Function

In die Zelle AK2 dann folgende Formel:

=Verketten2(E2:AI2;", ")

(*)
- Ö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
- die Funktion steht dir jetzt in dieser Datei zur Verfügung
Hi,

hier eine Formellösung für XL2013. Die Formel musst du halt erweitern.

Tabelle1

GHIJKLMNOPQRSTUVWXYZAAABACADAEAFAG
171, 2, 3, 4, 5, 6, 7
278910111213141, 2, 3, 4, 5, 6, 7, 8, 9, 10
3789101112131415161718192021222324252627282930311, 2, 3, 4, 5, 6, 7, 8, 9, 10
4567891, 2, 3, 4, 5, 6, 7
Formeln der Tabelle
ZelleFormel
AG1=WECHSELN(GLÄTTEN(A1&" "&B1&" "&C1&" "&D1&" "&E1&" "&F1&" "&G1&" "&H1&" "&I1&" "&J1);" ";", ")

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Quelle: http://www.online-excel.de/excel/singsel.php?f=35
Moin,

kannst, darfst, willst du Power Query, -> http://www.excel-ist-sexy.de/power-query-das-add-in/ verwenden?
Wenige Mausklicks (bei mir <10) und das Ergebnis ist so wie gewünscht da ...
Hallo Zusammen,

Vielen vielen Dank für Eure Antworten. Ich habe mich für die Lösung von Peter entschieden. Diese funktioniert für mich super.  :19:
Natürlich ist es immer am einfachsten, einen vorhanden Code zu kopieren, aber leider fehlt mir die Zeit um tiefer einzusteigen.
Ich hoffe, die finde ich irgendwann  :05:

viele Grüße
Stefan
(03.06.2017, 12:48)Peter schrieb: [ -> ]Hallo,

ich habe da noch einen VBA-Code in meinem Fundus der dir auch helfen könnte:

Folgender VBA-Code muss in ein Modul der Tabelle (*):
Code:
Function Verketten2(ByRef bereich As Range, Trennzeichen As String) As String
Dim rng As Range
  For Each rng In bereich
     If rng <> "" Then
     Verketten2 = Verketten2 & rng & Trennzeichen
     End If
  Next
If Len(Verketten2) > 0 Then _
Verketten2 = Left(Verketten2, Len(Verketten2) - Len(Trennzeichen))
End Function

In die Zelle AK2 dann folgende Formel:

=Verketten2(E2:AI2;", ")

(*)
- Ö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
- die Funktion steht dir jetzt in dieser Datei zur Verfügung

Eine Frage hätte ich noch. Ich musste meine Tabelle noch etwas umbauen. Ich habe jetzt leere Zellen in jeder Zeile und wenn ich es am Ende dann wie hier beschrieben zusammenfasse, werde mir natürlich auch die Leeren Zellen mit Kommaabtrennung ausgegeben. Gibt es einen kleine Trick, mit dem man die leeren Felder weg bekommt? Huh  Alle Zahlen sollen durch Komma + Leer getrennt fortlaufend angezeigt werden.

[Bild: bild1.jpg]

vielen Dank für Eure Unterstützung  Blush
Hallo,

leere Zellen wird nicht ausgegeben:
Tabelle1

ABCDEFGH
113781, 3, 7, 84
21 3 781,  , 3,  , 7, 86
Formeln der Tabelle
ZelleFormel
G1=Verketten2(A1:F1;", ")
H1=ANZAHL2(A1:F1)

In Zeile 1 sind B1, D1 und F1 leer, deswegen in H1 auch das Ergebnis 4.

In Zeile 2 ist in B2, D2 und F2 ein Leerzeichen, das Ergebnis in H2 ist deswegen auch 6.

Deswegen gehe ich davon aus, dass du tatsächlich keine leere Zellen hast.
Hallo, Peter,
du sammelst so etwas? Dann sollte dich Detlefs Hinweis interessieren, denn Verketten2 gibt's in zig Varianten von verschiedenen Autoren (dazu auch noch etwas anders benannte wie VerkettenA u.ä.), VJoin aber nur in 6 Versionen vom gleichen Autor, von denen die letztpublizierte 1.4 ist:
VJoin, Vs1.4, in BspDatei
Gruß + Frohe Pfingsten, Castor
(03.06.2017, 17:18)Peter schrieb: [ -> ]Hallo,

leere Zellen wird nicht ausgegeben:

In Zeile 1 sind B1, D1 und F1 leer, deswegen in H1 auch das Ergebnis 4.

In Zeile 2 ist in B2, D2 und F2 ein Leerzeichen, das Ergebnis in H2 ist deswegen auch 6.

Deswegen gehe ich davon aus, dass du tatsächlich keine leere Zellen hast.

Hallo Peter, 

Du hast Recht. In den leeren Zellen befindet sich, wie auch bei den befüllten Feldern eine Formel, welche mir die Zelle leer ausgibt. Selbst wenn ich den Inhalt komplett einfüge und damit die Formel entferne, bleiben die Kommas. Jetzt bin ich irgendwie ratlos  Huh 

Gruß
Stefan
Seiten: 1 2