Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Sonstiges

Beitrag: Einen zeichengetrennten String aufteilen *

Aufgabe
Du hast einen String, in dem mehrere Zahlen durch ein bestimmtes Zeichen, z.B. Komma oder Semikolon getrennt sind.
Diese möchtest Du auf einzelne Spalten aufteilen.
Dafür gibt es den Menüpunkt Daten > Text in Spalten...


       A               B               C               D               E               F               G       
1 1,22,3,4444,5,0  22  4444  0  
2 86,abc,3,x,def  86  abc  def   

Doch wie geht es mit einer Formel ?

Lösung
Dazu dient der Excel4Makro-Befehl AUSWERTEN.

Der String steht in A1.
Selektiere B1 und wähle Einfügen > Namen > Festlegen
Name:=Feld
bezieht sich auf:=AUSWERTEN("{"&WECHSELN(Tabelle1!$A1;",";".")&"}")

Feld bezieht sich also fix auf Spalte A (ggf. anpassen).
Die Zeilennummer ist variabel.

Schreibe nun in B1
=INDEX(Feld;SPALTE()-1)
und kopiere das nach rechts. Wenn die Anzahl Elemente überschritten ist, kommt die Fehlermeldung #BEZUG!.
Um diese zu verhindern, schreibe in B1 stattdessen
=WENN(ANZAHL2(Feld) < SPALTE()-1;"";INDEX(Feld;SPALTE()-1))

Kann auch Text vorkommen, müssen die einzelnen Elemente in Anführungszeichen stehen.
Das erreichst Du mit der universelleren Formel "bezieht sich auf"
=AUSWERTEN("{"&""""&WECHSELN(Tabelle1!$A1;",";""""&"."&"""")&""""&"}")

anstelle der Kommate können natürlich auch andere Trennzeichen stehen.

Variante ohne Excel4-Makro (von lupo1):
in B1:
=GLÄTTEN(TEIL(WECHSELN($A1;",";WIEDERHOLEN(" ";999));SPALTE(A1)*999-998;999))
und nach rechts kopieren.