Clever-Excel-Forum

Normale Version: Zelleninhalt aufteilen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebes Forum,

ich habe ein Problem, das für mich unlösbar scheint.

Ich habe einen Inhalt in einer Zelle der sozum Beispiel so aussieht (1+2+3+12+18+99). Dabei ist die Anzahl der Zahlen stets Variabel. Ich muss nun den Inhalt aufteilen in einzelne Spalten. Normalerweise würde dies mit Daten-> Text zu Spalten funktionieren. Jedoch stammt der Inhalt der Zelle aus einem anderem Datenblatt, demnach funtkioniert das nicht. Ich möchte das auch lieber mit Formeln lösen, da dieses Prozedere zum aufteilen sehr oft in unterscheidlichen Spalten geschehen soll.

Das einzige was ich aktuell hinbekomme ist die erste Zahl aufzuteilen mit (=WENNFEHLER(LINKS(B4;FINDEN("+";B4)-1);B4)). Die Formel WENNFEHLER wird verwendet, da es möglich ist dass auch nur eine Zahl in der Zelle steht.
Aktuell habe ich die Grenze an Zahlen auf maximal 20 geschätzt. Also ( 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20).

Ich hoffe hier hat jemand einen brillianten Einfall.
Hallo,

versuche es mal hiermit:


Code:
=LINKS(GLÄTTEN(TEIL(WECHSELN($B6;"+";WIEDERHOLEN(" ";599));SPALTE(A:Z)*599-598;599));6)
B1:U1: =GLÄTTEN(TEIL(WECHSELN(A1;"+";WIEDERHOLEN(" ";199));SPALTE(A:T)*199-198;199)) als {} abschließen (Formelarray)
@rate

vielen dank. der code funktioniert. ich versteh den nur leider nicht ganz, könntest du mir das vielleicht etwas erklären?

kurze frage hätte ich noch, ich habe letztens etwas von matrix berechnung gelesen und ich glaub das ist das was @LCOhen mit den geschweiften klammern meinte, das würde doch eigentlich bedeuteten dass man nur die formel in der einen zelle schreiben muss und dann der rest automatisch ausgefüllt wird oder nicht?. das funktioniert nämlich nicht. ich muss die formeln in die adneren zellen kopieren.
Nein, du markierst B1:U1 als Ganzes, trägst dann meine Formel in eine Zelle der Markierung ein, und dann schließst Du sie mit CSE ab. Dadurch entsteht keine Arrayformel, sondern ein Formelarray.

Das ist die alte Methode vor XL2021.

Die GLÄWEXWDH-Formel ist von mir.
Mit VBA wäre es auch möglich:

Code:
Sub InhAufteilen()
c = 2  ' Column 2 = Spalte B
lz = Cells(Rows.Count, c).End(xlUp).Row  ' Anzahl benutzte Zeilen in Spalte B
For zz = 4 To lz
    s = Cells(zz, 2).Value
    arr = Split(s, "+")
    anzz = UBound(arr)  ' Anzahl der "+"
    MsgBox anzz
    For i = 0 To anzz
        Cells(zz, c + 1 + i) = arr(i)
    Next
Next
End Sub


Grüsse Niclaus
Vielen Dank

mit VBA kenne ich mich aber absolut gar nicht aus.

@LCohen, das funktioniert leider nicht. ich hänge mal am besten die Excel an. Leider ist die Excel 2 mb Groß und ich kann die nicht anhängen. Hier ein Link zum herutnerladen

Dateien bitte im Forum hochladen: https://www.clever-excel-forum.de/Thread...ng-stellen
Hallo, 19 

anbei noch eine Datei mit einer UDF mit RegEx. Weiß allerdings nicht, wie in das in deiner alten Version aussieht. In der neuesten Version wird ja automatisch verteilt. Habe die Datei mal mit CSE-Abschluss gespeichert. 21
[attachment=42549]
Rate mit hat das gleiche gemacht, nur als zu kopierende Einzelformel. Das ist nicht schlechter. Nimm das.