Mittwoch, 5. August 2026
18:56 Uhr
18:56 Uhr
Die ExcelFormel TEXTTEILEN Teilstring aus Zelle auslesen und auf mehrere Spalten verteilen
Für die "Manuelle Umbuchung von Primärkosten" (Transaktion KB11N) sind in der Erfassungsvariante Kostenstelle/Auftrag/PersNr) folgende Angaben für die Umbuchung von Kosten erforderlich.
Kopf:
- Belegdatum
- BuchunDatum
- KostStAlt
- Auftrag Alt
- Kostenart
- Betrag
- KostSt Neu
- Auftrag Neu
Näheres zum Thema Controlling findet sich auch bei meinen Publikationen :-).
Hierzu haben wir ein Webformular, dass die einzelnen Felder ausfüllen lässt und erstellen einen Text der die übergebenen Werte ausgibt, sodass die Umbuchung im Text festgehalten ist.
Nun möchte aber Kirsten Lotse nicht jede Zeile einzeln kopieren, sondern in einer Zeile die Informationen aufnehmen und diese dann als Vorlage für die Buchungsmaske verwenden können. Zum Beispiel für einen eCatt oder eine andere Schnittstelle.
Hierzu geben wir diese Werte in einer Zeile aus, die durch ein Sonderzeichen getrennt ist.
Webformular das für KB11N genutzt werden soll
Das Formular hat, vereinfacht ausgedrückt, folgende Wertfelder:
- Sender Kostenstelle
- Sender Auftrag
- Kostenart
- Betrag
- Empfänger Kostenstelle
- Empfänger Auftrag
Anhand der folgenden Excel-Tabelle sollte die Funktionsweise des Webformulars und der übergebene String verständlich sein.

Der ausgegebene Textstring 1040000||680000|500,25||50200001 wird dabei am Ende der Mail als technische Zusammenfassung gesetzt und kann von der Sachbearbeitung kopiert werden statt der ausführlichen beschreibung der Umbuchung.
Im Beispiel möchte ich von der Kostenstelle 1040000 (Kostenstelle Controlling) über die Kostenart 680000 (Büromaterial) den Betrag 500,25 auf den Auftrag 50200001 (Projekt Excel für Zahlenschubser) umbuchen.
Textverketten für String aus Formulareingaben
Daraus ergibt sich ein String den ich über die Excelformel TEXTVERKETTEN erstellt habe.
Die Formel lautet =TEXTVERKETTEN("|";FALSCH;B3:B8)
Der Symtax der Formel lautet:
TEXTVERKETTEN(Trennzeichen; Leer_ignorieren; Text1)
Unterschiedliche Buchungsmöglichkeiten als Textstring mit Trennzeichen
Für unser Beispiel ist das Trennzeichen "|", es sollen keine Leerzeichen ignoriert werden und der Text befindet sich in den Zellen B3 bis B8.
Im Ergebnis erhalte ich nun also in Zelle B10 folgenden Wert:
1040000||680000|500,25||50200001
Dies ist die technische Zusammensetzung für die Umbuchung von Kostenstelle auf Auftrag.
Andere Umbuchungen würden sich anhand der Formularübergabe wie folgt ergeben:
Für eine Umbuchung von Sender Kostenstelle auf Empfänger Kostenstelle wäre dieser String
Sender Kostenstelle||Kostenart|Betrag|Empfänger Kostenstelle|
Für eine Umbuchung von Sender Auftrag auf Empfänger Auftrag wäre dieser String dann
|Sender Auftrag|Kostenart|Betrag||Empfänger Auftrag
Für leere Spalten wird also stets mit | abgeschlossen.
Der Vollständigkeit halber sollen natürlich auch die beiden anderen Kombinationen angegeben werden.
Umbuchung von Kostenstelle auf Auftrag
Sender Kostenstelle||Kostenart|Betrag||Empfänger Auftrag
Umbuchung von Auftrag auf Kostenstelle
|Sender Auftrag|Kostenart|Betrag|Empfänger Kostenstelle|
Als Trennzeichen ist das Sonderzeichen | bewusst gewählt worden, da dieses selten aus Versehen eingegeben wird.
Auflösen des Textstring über Excel Formel TEXTTEILEN
Dieser String kann nun einfach in unsere Excelvorlage kopiert werden.
Im Beispiel ist dies die Spalte Texteingabe und ich verwende nun die Formel Textteilen um die einzelnen Bestandteile des Strings auf mehrere Spalten zu verteilen.

Der Syntax der Formel lautet
=TEXTTEILEN(
text;
spaltentrennzeichen;
zeilentrennzeichen;
Leer_ignorieren;
Übereinstimmmodus)
Text ist dabei die Zelle A2.
Leer ignorieren ist optional, wenn auf Wahr werden Zellen ohne Eintrag ignoriert.
Übereinstimmodus betrifft die groß und Kleinschreibung das Trennzeichen. Ist hier 1 oder Wahr gesetzt wird die Groß/Kleinschreibung ignoriert standardmäßig wird diese beachtet.
Ich habe die Formel jetzt für alle Beispiele einmal ausgefüllt und das Ergebnis dürfte die Umwandlung des Textstrings aus unserem Formular deutlich machen.

Durch die Formel =TEXTTEILEN(A2;"|") berücksichtige ich das Trennzeichen nur für Spalten und lasse den Textstring über die Spalten automatisch ausfüllen. Dies ist der Vorteil der neuen Arrayformeln in Excel.
Das Ergebnis kann dann als Vorlage im SAP verwendet werden.
Ich habe dieses für die Teilstrings
- 1040000||680000|500,25||50200001
- Sender Kostenstelle||Kostenart|Betrag|Empfänger Kostenstelle|
- |Sender Auftrag|Kostenart|Betrag||Empfänger Auftrag
- Sender Kostenstelle||Kostenart|Betrag||Empfänger Auftrag
- |Sender Auftrag|Kostenart|Betrag|Empfänger Kostenstelle|

Es handelt sich hierbei um eine neue Formel unter Excel für Office 365, wodurch die Eingabe automatisch auf die anderen Spalten übertragen wird.
Sprich das Ergebnis ist nicht nur ein Wert, sondern ein ganzes Array was dann über die Spalten oder Zeilen verteilt wird.
Werte aus TEXTTEILEN als Array übergeben und in anderen Spalten ausgeben
Das von TEXTTEILEN zurückgegebene Ergebnis ist kein einzelner Wert, sondern ein Array. Dieses Array kann direkt an andere Excel-Funktionen übergeben werden. Dadurch lassen sich einzelne Bestandteile des Textstrings gezielt auslesen, ohne dass die Daten zunächst sichtbar auf mehrere Spalten verteilt werden müssen.Hier kann die Formel INDEX verwendet werden um auf einzelne Werte der Rückgabe zurückzugreifen.
Wenn die Anzahl der Felder bekannt ist kann dies wie folgt ausgegeben werden.
Um in einer Spalte die dritte Spalte (im Beispiel die Kostenart) auszugeben kann die Formel INDEX verwendet werden.
=INDEX(TEXTTEILEN(A2;"|");3)
gibt aus den Textstring das dritte Argument aus.
Damit eignet sich TEXTTEILEN nicht nur zum Aufteilen von Zeichenketten, sondern auch als Datenquelle für weitere Berechnungen.
Wichtiger Hinweis:
Die Funktion TEXTTEILEN gehört zu den dynamischen Arrayfunktionen von Excel und steht in Microsoft 365, ab Excel 2024 sowie in der aktuellen Version Excel für Web zur Verfügung. Sie ist im Grunde das Gegenstück zur TEXTVERKETTEN Funktion.
Während TEXTVERKETTEN mehrere Werte zu einem Textstring verbindet, zerlegt TEXTTEILEN einen Textstring anhand eines Trennzeichens wieder in einzelne Werte.
Die Funktion TEXTTEILEN ist in älteren Excel-Versionen nicht vorhanden, sodass hier entweder der Assistent Text in Spalten unter DATEN > "Text in Spalten" oder Power Query genutzt werden kann. Alternativ bietet sich auch eine Kombination aus den Formeln LINKS, RECHTS, TEIL und FINDEN an, hier sollte die Formularübergabe aber noch entsprechend angepasst werden.
Eine weitere Möglichkeit wäre eine Lösung über VBA. Von dieser Variante bin ich persönlich aus unterschiedlichen Gründen allerdings kein großer Fan.
ein Angebot von Espresso Tutorials

unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »Die ExcelFormel TEXTTEILEN Teilstring aus Zelle auslesen und auf mehrere Spalten verteilen« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 5.8.2026, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=1422 (Abgerufen am 10.8.2026)


Keine Kommentare - Permalink - Office
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Bluesky 🌎 LinkedIn