Das grosse Archiv mit 640
VBA-freien Formellösungen und Tips
 
   
 
 ÜBER UNS   NEWS   FORMELN   TIPPS   KONTAKT   FORUM   LINKS 
   
Übersicht   Zauberbuch   Rätselbuch   Sparbuch   Bücher-Downloads / Errata  
 
Sonstiges (11) ->

Einen zeichengetrennten String aufteilen * (210)
 
 
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.
 
    zurück


 
powered by telltarget