Beispiele für die TEIL-Funktion – Excel, VBA und Google Sheets
Download the example workbook
In diesem Tutorial zeigen wir Ihnen, wie Sie die Excel-Funktion TEIL in Excel, VBA und Google Sheets verwenden können, um Text aus einer Zelle zu extrahieren.
Die TEIL-Funktion in Excel verwenden
Die TEIL-Funktion extrahiert eine bestimmte Anzahl von Zeichen, die Sie an einer beliebigen Stelle spezifizieren.
=TEIL(B3;C3;D3)
Sie kann an jeder Stelle (Spalte C) anfangen und eine beliebige Anzahl von Zeichen (Spalte D) zurückgeben.
TEIL zum Erfassen von Zeichenketten zwischen verschiedenen Trennzeichen
Wenn die gesuchte Zeichenkette zwischen zwei verschiedenen Trennzeichen liegt, ist dies eine ziemlich unkomplizierte Lösung. Wir könnten zum Beispiel die Zeichenfolge zwischen Bindestrich („-„) und Schrägstrich („/“) benötigen.
=TEIL(B3;FINDEN("-";B3)+1;FINDEN("/";B3)-FINDEN("-";B3)-1)
In diesem Fall können wir FINDEN verwenden, um zu prüfen, an welcher Stelle der Bindestrich steht und 1 hinzuaddieren, um das Extrahieren von dort aus zu starten.
Verwenden Sie erneut FINDEN, um zu prüfen, an welcher Stelle der Schrägstrich steht und ziehen Sie die Position des Bindestrichs und 1 davon ab, um die gewünschte Länge der Zeichenfolge zu erhalten.
Sie können auch SUCHEN verwenden. Der Unterschied zwischen FINDEN und SUCHEN besteht darin, dass die Groß- und Kleinschreibung bei der ersten beachtet wird. Die Suche nach einem Symbol wie einem Leerzeichen würde keine Rolle spielen.
=TEIL(B3;FINDEN("-";B3)+1;SUCHEN("/";B3)-SUCHEN("-";B3)-1)
TEIL zum Erfassen von Zeichenfolgen zwischen gleichen Trennzeichen
Wenn die Zeichenfolge überall das gleiche Trennzeichen hat, ist es etwas schwieriger als oben, da FINDEN das erste Vorkommen erfasst. Wir könnten zum Beispiel die Zeichenfolge zwischen dem ersten und zweiten Leerzeichen suchen. Sie können aber auch eine Anfangsposition in FINDEN angeben.
=TEIL(B3;FINDEN(" ";B3)+1;FINDEN(" ";B3;FINDEN(" ";B3)+1)-FINDEN(" ";B3)-1)
Es verwendet FINDEN genau wie im obigen Beispiel, um zu prüfen, an welcher Zeichenposition das Leerzeichen steht und addiert 1 hinzu, um das Extrahieren von dort aus zu starten.
Verwenden Sie erneut FINDEN, um zu prüfen, an welcher Zeichenposition das zweite Leerzeichen steht, indem Sie mit der Suche 1 Zeichen nach der Position des ersten Leerzeichens beginnen.
Und schließlich ziehen die Position des ersten Leerzeichens und 1 ab, um die Länge der gewünschten Zeichenkette zu erhalten.
Sie können auch SUCHEN verwenden.
=TEIL(B3;FINDEN(" ";B3)+1;SUCHEN(" ";B3;FINDEN(" ";B3)+1)-SUCHEN(" ";B3)-1)
TEIL mit Zahlen/Daten
Beachten Sie, dass TEIL eine Textfunktion ist und immer einen Textwert zurückgibt. Numerische Funktionen würden damit nicht funktionieren:
Um die oben genannten Probleme zu lösen, können Sie die WERT-Funktion verwenden, um Text- in Zahlenwerte umzuwandeln.
=WERT(TEIL(B3;FINDEN(":";B3)+2;FINDEN(" ";B3;FINDEN(" ";B3)+1)-FINDEN(":";B3)-2))
TEIL zum Trennen anhand des gemeinsamen Trennzeichens
Möglicherweise möchten Sie alle Wörter in verschiedenen Zeilen aufteilen. Daraus folgt:
=GLÄTTEN(TEIL(WECHSELN(B$3;" ";WIEDERHOLEN(" ";LÄNGE(B$3)));(ZEILEN(B3:B$3)-1)*LÄNGE(B$3)+1;LÄNGE(B$3)))
Mit WECHSELN werden alle Leerzeichen durch einen Strom von wiederholten Leerzeichen mit WIEDERHOLEN ersetzt. Das ergibt einen Text, der wie folgt aussieht:
“Excel ist wirklich großartig”
Der Zufluss von wiederholten Leerzeichen wird sorgfältig mit einer Gesamtlänge des ursprünglichen Textes wiederholt, indem LÄNGE verwendet wird. Das bedeutet, dass die Positionsnummer, an der das Extrahieren beginnt, ein Vielfaches der Gesamtlänge darstellt. Für das erste Wort wird ab Position 1 extrahiert. Für das zweite Wort ist es die Gesamtlänge + 1. Für das dritte Wort ist es die Gesamtlänge x 2 + 1 und so weiter. Um das n-te Wort zu erhalten, verwenden Sie ZEILEN.
Die Anzahl der Zeichen ergibt sich schließlich immer aus der Gesamtlänge des Originaltextes.
Das n-te Wort in der Zeichenkette finden
Wir können GLÄTTEN, LÄNGE, WECHSELN, WIEDERHOLEN mit TEIL wie folgt kombinieren, um das letzte Wort in der Zeichenkette zu erhalten.
=GLÄTTEN(TEIL(WECHSELN(A$2;" ";WIEDERHOLEN(" ";LÄNGE(A$2))); (B2-1)*LÄNGE(A$2)+1; LÄNGE(A$2)))
Das würde uns folgende Ergebnisse liefern:
Eine Textzeichenfolge umkehren
Sie können eine Textzeichenfolge umkehren, indem Sie die TEIL-Funktion mit TEXTVERKETTEN wie folgt kombinieren.
=TEXTVERKETTEN("";1;TEIL(A2;{10;9;8;7;6;5;4;3;2;1};1))
Das würde zu folgenden Ergebnissen führen:
TEIL in Google Sheets
Die TEIL-Funktion funktioniert in Google Sheets genau so wie in Excel:
TEIL-Beispiele in VBA
Sie können die TEIL-Funktion auch in VBA verwenden. Geben Sie Folgendes ein:
Application.WorksheetFunction.Mid(Text,Erstes_Zeichen,Anzahl_Zeichen)
Die Funktionsargumente (Text usw.) können Sie entweder direkt in die Funktion eingeben oder Variablen definieren, die Sie stattdessen verwenden.