TEXTSPLIT-Funktion in Excel: Textstrings nach Begrenzungszeichen trennen

  • Teile Das
Michael Brown

Das Tutorial zeigt, wie Sie die brandneue Funktion TEXTSPLIT verwenden, um Zeichenketten in Excel 365 durch ein beliebiges Trennzeichen aufzuteilen, das Sie angeben.

Es kann verschiedene Situationen geben, in denen Sie Zellen in Excel aufteilen müssen. In früheren Versionen waren wir bereits mit einer Reihe von Instrumenten ausgestattet, um diese Aufgabe zu bewältigen, wie z. B. Text in Spalten und Fill Flash. Jetzt haben wir auch eine spezielle Funktion dafür, TEXTSPLIT, die eine Zeichenfolge in mehrere Zellen über Spalten oder/und Zeilen auf der Grundlage der Parameter, die Sie angeben, aufteilen kann.

    Excel-Funktion TEXTSPLIT

    Die Funktion TEXTSPLIT in Excel trennt Textzeichenfolgen mit einem bestimmten Trennzeichen über Spalten und/oder Zeilen hinweg auf. Das Ergebnis ist ein dynamisches Array, das automatisch in mehrere Zellen übergeht.

    Die Funktion nimmt bis zu 6 Argumente entgegen, von denen nur die ersten beiden erforderlich sind.

    TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])

    Text (erforderlich) - der aufzuteilende Text, der als Zeichenkette oder Zellbezug angegeben werden kann.

    spalten_begrenzer (erforderlich) - ein Zeichen, das angibt, an welcher Stelle der Text auf die Spalten aufgeteilt werden soll; wenn es weggelassen wird, zeilen_begrenzer muss definiert werden.

    zeilen_begrenzer (optional) - ein Zeichen, das angibt, wo der Text in den Zeilen aufgeteilt werden soll.

    ignore_empty (optional) - gibt an, ob leere Werte ignoriert werden sollen oder nicht:

    • FALSE (Standard) - erstellt leere Zellen für aufeinanderfolgende Begrenzungszeichen ohne einen dazwischen liegenden Wert.
    • TRUE - Leere Werte werden ignoriert, d.h. es werden keine leeren Zellen für zwei oder mehr aufeinanderfolgende Begrenzungszeichen erstellt.

    match_mode (optional) - legt die Groß- und Kleinschreibung für das Trennzeichen fest; standardmäßig aktiviert.

    • 0 (Standard) - Groß- und Kleinschreibung beachten
    • 1 - Groß- und Kleinschreibung nicht beachten

    auffüllen_mit (optional) - ein Wert, der anstelle von fehlenden Werten in zweidimensionalen Arrays verwendet wird. Der Standardwert ist ein #N/A-Fehler.

    Um beispielsweise eine Textzeichenfolge in A2 in mehrere Zellen aufzuteilen und dabei ein Komma und ein Leerzeichen als Trennzeichen zu verwenden, lautet die Formel:

    =TEXTSPLIT(A2, ", ")

    TEXTSPLIT Verfügbarkeit

    Die Funktion TEXTSPLIT ist nur in Excel für Microsoft 365 (Windows und Mac) und Excel für das Web verfügbar.

    Tipps:

    • In Excel-Versionen, in denen die Funktion TEXTSPLIT nicht zur Verfügung steht (außer Excel 365), können Sie den Assistenten "Text in Spalten" verwenden, um Zellen zu teilen.
    • Um die umgekehrte Aufgabe zu erfüllen, d.h. den Inhalt mehrerer Zellen unter Verwendung eines bestimmten Trennzeichens zu einer Zelle zu verbinden, ist die Funktion TEXTJOIN zu verwenden.

    Grundformel TEXTSPLIT zum Teilen einer Zelle in Excel

    Sehen wir uns zunächst an, wie man eine TEXTSPLIT-Formel in ihrer einfachsten Form verwendet, um eine Textzeichenfolge durch ein bestimmtes Trennzeichen zu trennen.

    Eine Zelle spaltenübergreifend horizontal teilen

    Um den Inhalt einer bestimmten Zelle in mehrere Spalten aufzuteilen, geben Sie einen Verweis auf die Zelle an, die die ursprüngliche Zeichenkette für die erste Spalte enthält ( Text ) und das Begrenzungszeichen, das den Punkt markiert, an dem die Aufteilung für das zweite Argument ( spalten_begrenzer ) Argument.

    Um zum Beispiel die Zeichenfolge in A2 horizontal durch ein Komma zu trennen, lautet die Formel:

    =TEXTSPLIT(A2, ",")

    Als Begrenzungszeichen wird ein Komma in Anführungszeichen (",") verwendet.

    Das bedeutet, dass jeder durch ein Komma getrennte Eintrag in eine eigene Spalte aufgenommen wird:

    Eine Zelle vertikal über Zeilen hinweg teilen

    Um den Text auf mehrere Zeilen aufzuteilen, muss das dritte Argument ( zeilen_begrenzer ) ist die Stelle, an der Sie das Trennzeichen setzen. Das zweite Argument ( spalten_begrenzer ) wird in diesem Fall weggelassen.

    Um zum Beispiel die Werte in A2 in verschiedene Zeilen aufzuteilen, lautet die Formel:

    =TEXTSPLIT(A2, ,",")

    Bitte beachten Sie, dass in beiden Fällen die Formel nur in eine Zelle (C2) eingegeben wird. In die benachbarten Zellen werden die zurückgegebenen Werte automatisch verschüttet. Die sich ergebende Matrix (ein so genannter Verschüttungsbereich) ist mit einem blauen Rahmen versehen, der anzeigt, dass alles darin befindliche durch die Formel in der oberen linken Zelle berechnet wird.

    Text nach Teilstrings aufteilen

    In vielen Fällen werden die Werte in der Quellzeichenkette durch eine Folge von Zeichen getrennt, z. B. durch ein Komma und ein Leerzeichen. Um dieses Szenario zu behandeln, verwenden Sie eine Teilzeichenkette als Begrenzer.

    Um beispielsweise den Text in A2 in mehrere Spalten durch ein Komma und ein Leerzeichen zu trennen, verwenden Sie die Zeichenfolge ", " für spalten_begrenzer .

    =TEXTSPLIT(A2, ", ")

    Diese Formel wird in B2 eingefügt, und dann kopieren Sie sie in so viele Zellen wie nötig.

    Zeichenkette in Spalten und Zeilen auf einmal aufteilen

    Um einen Textstring gleichzeitig in Zeilen und Spalten aufzuteilen, definieren Sie beide Begrenzungszeichen in Ihrer TEXTSPLIT-Formel.

    Um zum Beispiel die Textzeichenfolge in A2 auf Spalten und Zeilen aufzuteilen, geben wir ein:

    • Das Gleichheitszeichen ("=") für spalten_begrenzer
    • Ein Komma und ein Leerzeichen (", ") für zeilen_begrenzer

    Die vollständige Formel sieht so aus:

    =TEXTSPLIT(A2, "=", ", ")

    Das Ergebnis ist ein 2-D-Array, das aus 2 Spalten und 3 Zeilen besteht:

    Zellen durch mehrere Begrenzungszeichen voneinander trennen

    Um mehrere oder inkonsistente Begrenzungszeichen in der Quellzeichenkette zu behandeln, verwenden Sie eine Array-Konstante wie {"x", "y", "z"} für das Begrenzungszeichen-Argument.

    In der folgenden Abbildung wird der Text in A2 sowohl durch Kommas (",") als auch durch Semikolons (";") mit und ohne Leerzeichen abgegrenzt. Um die Zeichenkette vertikal durch alle 4 Varianten des Begrenzungszeichens in Zeilen aufzuteilen, lautet die Formel:

    =TEXTSPLIT(A2, , {",",", ",";",";"})

    Sie können aber auch nur ein Komma (",") und ein Semikolon (";") in das Array einfügen und dann die zusätzlichen Leerzeichen mit Hilfe der TRIM-Funktion entfernen:

    =TRIM(TEXTSPLIT(A2, , {",",";"}))

    Text aufteilen und leere Werte ignorieren

    Wenn die Zeichenkette zwei oder mehr aufeinanderfolgende Trennzeichen ohne einen Wert dazwischen enthält, können Sie wählen, ob solche leeren Werte ignoriert werden sollen oder nicht. Dieses Verhalten wird durch das vierte ignore_empty der standardmäßig auf FALSE gesetzt ist.

    Standardmäßig ignoriert die Funktion TEXTSPLIT keine leeren Werte. Das Standardverhalten funktioniert gut für strukturierte Daten wie im folgenden Beispiel.

    In dieser Beispieltabelle fehlen die Noten in einigen Zeichenfolgen. Die TEXTSPLIT-Formel mit dem ignore_empty Argument weggelassen oder auf FALSE gesetzt wird, wird dieser Fall perfekt behandelt, indem für jeden leeren Wert eine leere Zelle erstellt wird.

    =TEXTSPLIT(A2, ", ")

    Oder

    =TEXTSPLIT(A2, ", ", FALSE)

    Dadurch erscheinen alle Werte in den entsprechenden Spalten.

    Falls Ihre Zeichenketten homogene Daten enthalten, kann es sinnvoll sein, leere Werte zu ignorieren. Setzen Sie dazu die ignore_empty Argument auf TRUE oder 1.

    Um z. B. die unten stehenden Zeichenfolgen zu teilen und jede Fähigkeit in eine separate Zelle ohne Lücken zu setzen, lautet die Formel:

    =TEXTSPLIT(A2, ", ", ,TRUE)

    In diesem Fall werden die fehlenden Werte zwischen aufeinanderfolgenden Begrenzungszeichen vollständig ignoriert:

    Zellaufteilung unter Berücksichtigung der Groß- und Kleinschreibung

    Um die Groß- und Kleinschreibung des Begrenzungszeichens zu kontrollieren, verwenden Sie das fünfte Argument, match_mode .

    Standardmäßig, match_mode wird auf 0 gesetzt, wodurch TEXTSPLIT Groß- und Kleinschreibung .

    In diesem Beispiel werden die Zahlen durch die Kleinbuchstaben "x" und die Großbuchstaben "X" getrennt.

    Die Formel mit der Standardunterscheidung zwischen Groß- und Kleinschreibung akzeptiert nur den Kleinbuchstaben "x" als Begrenzungszeichen:

    =TEXTSPLIT(A2, " x ")

    Bitte achten Sie darauf, dass das Trennzeichen auf beiden Seiten des Buchstabens "x" ein Leerzeichen enthält, um zu verhindern, dass führende und nachfolgende Leerzeichen in den Ergebnissen enthalten sind.

    Um die Groß- und Kleinschreibung auszuschalten, geben Sie 1 für match_mode um die TEXTSPLIT-Formel zu zwingen, die Groß- und Kleinschreibung zu ignorieren:

    =TEXTSPLIT(A2, " x ", , ,1)

    Jetzt werden alle Zeichenketten durch beide Begrenzungszeichen korrekt getrennt:

    Fehlende Werte in 2D-Array auffüllen

    Das letzte Argument der Funktion TEXTSPLIT, auffüllen_mit Wenn eine solche Zeichenfolge sowohl in Spalten als auch in Zeilen aufgeteilt ist, gibt Excel standardmäßig #N/A-Fehler anstelle der fehlenden Werte zurück, um die Struktur eines zweidimensionalen Arrays nicht zu verfälschen.

    In der folgenden Zeichenkette fehlt ein "=" ( spalten_begrenzer Um die Integrität des resultierenden Arrays zu wahren, gibt TEXTSPLIT #N/A neben "Score" aus.

    Um das Ergebnis benutzerfreundlicher zu gestalten, können Sie den Fehler #N/A durch einen beliebigen Wert ersetzen. Geben Sie einfach den gewünschten Wert in das Feld auffüllen_mit Argument.

    In unserem Fall könnte das ein Bindestrich ("-") sein:

    =TEXTSPLIT(A2, "=", ", ", , ,"-")

    Oder eine leere Zeichenkette (""):

    =TEXTSPLIT(A2, "=", ", ", , ,"")

    Nachdem Sie nun die praktische Verwendung der einzelnen Argumente der Funktion TEXTSPLIT kennengelernt haben, wollen wir nun einige fortgeschrittene Beispiele besprechen, die Ihnen helfen können, nicht-triviale Herausforderungen in Ihren Excel-Tabellen zu bewältigen.

    Daten in Tag, Monat und Jahr aufteilen

    Um ein Datum in einzelne Einheiten aufzuteilen, müssen Sie zunächst das Datum in Text umwandeln, da die Funktion TEXTSPLIT mit Textstrings arbeitet, während Excel-Daten Zahlen sind.

    Der einfachste Weg, einen numerischen Wert in Text umzuwandeln, ist die Verwendung der Funktion TEXT. Stellen Sie nur sicher, dass Sie einen geeigneten Formatcode für Ihr Datum angeben.

    In unserem Fall lautet die Formel:

    =TEXT(A2, "m/d/yyyy")

    Der nächste Schritt besteht darin, die obige Funktion in das 1. Argument von TEXTSPLIT zu verschachteln und das entsprechende Trennzeichen für das 2. oder 3. Argument einzugeben, je nachdem, ob Sie über Spalten oder Zeilen aufteilen. In diesem Beispiel werden die Datumseinheiten mit Schrägstrichen getrennt, also verwenden wir "/" für das spalten_begrenzer Argument:

    =TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")

    Zellen teilen und bestimmte Zeichen entfernen

    Stellen Sie sich Folgendes vor: Sie haben eine lange Zeichenkette in Teile zerlegt, aber das resultierende Array enthält immer noch einige unerwünschte Zeichen, wie z. B. die Klammern im Screenshot unten:

    =TEXTSPLIT(A2, " ", "; ")

    Um die öffnenden und schließenden Klammern auf einmal zu entfernen, schachteln Sie zwei SUBSTITUTE-Funktionen ineinander (wobei jeweils eine Klammer durch eine leere Zeichenkette ersetzt wird) und verwenden die TEXTSPLIT-Formel für die Text Argument des inneren SUBSTITUTE:

    =SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", "")

    Tipp: Wenn das endgültige Array zu viele zusätzliche Zeichen enthält, können Sie diese mit einer der Methoden entfernen, die in diesem Artikel beschrieben werden: Wie man unerwünschte Zeichen in Excel entfernt.

    Strings aufteilen und bestimmte Werte auslassen

    Angenommen, Sie möchten die folgenden Zeichenfolgen in 4 Spalten aufteilen: Vornamen , Nachname , Ergebnis und Ergebnis Das Problem ist, dass einige Zeichenketten den Titel "Herr" oder "Frau" enthalten, weshalb die Ergebnisse falsch sind:

    Die Lösung ist nicht offensichtlich, aber ganz einfach :)

    Zusätzlich zu den vorhandenen Begrenzungszeichen, die ein Leerzeichen (" ") und ein Komma und ein Leerzeichen (", ") sind, fügen Sie die Zeichenfolgen "Herr " und "Frau " in die spalten_begrenzer Array-Konstante, so dass die Funktion die Titel selbst zur Trennung des Textes verwendet. Um leere Werte zu ignorieren, setzen Sie die ignore_empty Argument auf TRUE.

    =TEXTSPLIT(A2, {" ",", ", "Herr ", "Frau"}, ,TRUE)

    Jetzt sind die Ergebnisse absolut perfekt!

    TEXTSPLIT-Alternativen

    In Excel-Versionen, in denen die Funktion TEXTSPLIT nicht unterstützt wird, können Sie Zeichenketten aufteilen, indem Sie verschiedene Kombinationen der Funktion SEARCH / FIND mit LEFT, RIGHT und MID verwenden:

    • SEARCH ohne Berücksichtigung der Groß-/Kleinschreibung oder FIND ohne Berücksichtigung der Groß-/Kleinschreibung bestimmt die Position des Begrenzungszeichens innerhalb einer Zeichenfolge, und
    • Die Funktionen LEFT, RIGHT und MID extrahieren eine Teilzeichenkette vor, nach oder zwischen zwei Instanzen des Begrenzers.

    In unserem Fall werden die Werte, die durch ein Komma und ein Leerzeichen lauten die Formeln wie folgt.

    Um den Namen zu extrahieren:

    =LINKS(A2, SUCHE(",", A2, 1) -1)

    Zum Ziehen der Partitur:

    =MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)

    Um das Ergebnis zu erhalten:

    =RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",", A2) + 1)-1)

    Eine ausführliche Erklärung der Logik der Formeln finden Sie unter Aufteilung von Zeichenketten nach Zeichen oder Maske.

    Bitte beachten Sie, dass diese Formeln im Gegensatz zur dynamischen Array-Funktion TEXTSPLIT dem traditionellen Ansatz "eine Formel - eine Zelle" folgen: Sie geben die Formel in die erste Zelle ein und ziehen sie dann in der Spalte nach unten, um sie in die darunter liegenden Zellen zu kopieren.

    Der folgende Screenshot zeigt die Ergebnisse:

    So können Sie Zellen in Excel 365 mithilfe von TEXTSPLIT oder alternativen Lösungen in früheren Versionen aufteilen. Ich danke Ihnen für die Lektüre und hoffe, Sie nächste Woche auf unserem Blog begrüßen zu dürfen!

    Übungsheft zum Herunterladen

    TEXTSPLIT-Funktion zum Aufteilen von Zeichenketten - Formelbeispiele (.xlsx-Datei)

    Michael Brown ist ein begeisterter Technologie-Enthusiast mit einer Leidenschaft für die Vereinfachung komplexer Prozesse mithilfe von Softwaretools. Mit mehr als einem Jahrzehnt Erfahrung in der Technologiebranche hat er seine Fähigkeiten in Microsoft Excel und Outlook sowie Google Sheets und Docs verfeinert. Michaels Blog widmet sich dem Teilen seines Wissens und seiner Expertise mit anderen und bietet leicht verständliche Tipps und Tutorials zur Verbesserung von Produktivität und Effizienz. Egal, ob Sie ein erfahrener Profi oder ein Anfänger sind, Michaels Blog bietet wertvolle Einblicke und praktische Ratschläge, wie Sie diese wichtigen Softwaretools optimal nutzen können.