Viele Zelleninhalte in einer Zelle mit Komma zusammenführen?

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Angenommen, die Nummern stehen in A1:A400.

Verwende jetzt folgende Formeln in B1 und B2:
B1: =A1
B2: =B1&","&A2

Die Formel in B2 kopierst du runter bis B400. In B400 sollten dann alle Nummern durch Komma getrennt stehen.

Optisch sieht es noch besser aus, wenn du in der B2-Formel nach dem Komma ein Leerzeichen machst.


Iamiam  31.01.2017, 20:36

DH! genau so! Das letzte Formelergebnis dann kopieren und (darunter?) als WERTE einfügen, damits von der anderen Anwendung gelesen werden kann.

Die xl-Zelle fasst bis ca 32000 Zeichen, die knapp 8000 (400*(17+2)) resultierenden Zeichen haben also noch bequem Platz.

1

ich würdemmich behelfen in dem ich in jede der 400 Zellen ein Komme per =Verketten schiebe und dann würde ich die Formel aus diesen Zellen rausnehmen und diese erneut verketten.

Wenn die 17stelligen Nummern in Spalte A stehen, schreibst du in B1: =A1

In B2 schreibst du

=B1&","&A2

Das kopierst du herunter.

Es kann sein, dass irgendwann zuviel Text in der Zelle steht. Aber das sagt Excel dir dann schon.


DeeDee07  31.01.2017, 14:53

DH! Du warst ein wenig schneller als ich.

1
Pucky99  31.01.2017, 14:50

er/sie will alle 17-steller in eine Zelle mit Komma getrennt

1
Suboptimierer  31.01.2017, 14:51
@Pucky99

Hat er/sie dann auch, und zwar in der letzten gefüllten Zelle der Spalte B.

Texte kann man am besten so kumulieren.

VERKETTEN(A1:A401) geht nicht.

2

Entweder per schönen: http://www.office-loesung.de/ftopic142301_0_0_asc.php

Oder wenn du doch lieber pur Excel bist dann:

Dateien -> Optionen -> Formeln ->Berechnungsoptionen -> Iterative Berechnung aktivieren (max.400) ->OK(Bestätigen)

Deine Zahlen gehen in meinem Beispiel von A1:A400

B2 = WENN(B2=100;1;B2+1)
C2 =WENN(B2=1;"";WENN(B2-1>ANZAHL2(A1:A400);C2;C2&","&INDEX(A$1:A$400;KKLEINSTE(WENN(ISTZAHL(A$1:A$400);ZEILE(A$1:A$400));B2-1))))

**C2 Als Matrixfunktion**

Falls es doch um eine Matrix von A1:OJ1 gehen sollte, ersetze bitte A1:A400 durch A1:OJ1 und ZEILE durch SPALTE

Wenn es mehrere von diesen Zellreihen sind, ist das glaube ich besser, als theoretisch praktischere runterziehen einer Formel.


Bei dir wird es dann vermutlich so aussehen, dass nur dieersten 50 bis 100 Zahlen angezeigt werden, aber wenn du zB die Formel kopierstund als Wert einfügst solltest du sehen, dass alle enthalten sind  :)

Geht am schnellsten mit einem kleinen Makro:

Sub marine()

For Each C In Selection.Cells
Wert = Wert & "," & C
Next C
Range("C2") = Wert
End Sub

Iamiam  31.01.2017, 20:45

bei so vielen Zellen ist das vllt wirklich besser, ein Makro zu nehmen und besonders dann, wenn die Daten nicht untereinander stehen, sondern auf einen Boder mehrere Bereiche verteilt sind.

Kann man ja danach zur Wiederverwendung als Text in einem Textfeld speichern und das Modul wieder löschen., so dass man nicht ständig auf die unermesslichen Gefahren eines Makros hingewiesen wird....

0