Excel-Formel: Letztes Wort entfernen -

Inhaltsverzeichnis

Generische Formel

=MID(A1,1,FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)

Zusammenfassung

Um das letzte Wort aus einer Textzeichenfolge zu entfernen, können Sie eine Formel verwenden, die auf der MID-Funktion basiert, mit Hilfe von SUBSTITUTE, LEN und FIND. In dem gezeigten Beispiel lautet die Formel in Zelle B5:

=MID(B5,1,FIND("~",SUBSTITUTE(B5," ","~",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)

Erläuterung

Diese Formel verwendet die MID-Funktion, um das letzte Wort aus einer Textzeichenfolge zu entfernen. Die größte Herausforderung besteht darin, herauszufinden, wo das letzte Wort beginnt.

Die Formel ist etwas verworren, aber die Schritte sind einfach. Wir zählen zunächst mit LEN und SUBSTITUTE, wie viele Leerzeichen im Text vorhanden sind. Als nächstes verwenden wir das etwas obskure "Instanz" -Argument in der SUBSTITUTE-Funktion, um das letzte Leerzeichen durch eine Tilde (~) zu ersetzen. Schließlich verwenden wir FIND, um herauszufinden, wo sich die Tilde befindet, und die MID-Funktion, um alles nach der Tilde zu verwerfen.

Von innen nach außen arbeiten wir mit den Funktionen LEN und SUBSTITUTE, um zu zählen, wie viele Leerzeichen im nächsten erscheinen:

LEN(B5)-LEN(SUBSTITUTE(B5," ","")) // returns 6

Für den Text in B5 wird 6 zurückgegeben. Auf dieser Seite wird dieser Teil der Formel ausführlicher erläutert. Dies sagt uns, dass wir den Text am 6. Leerzeichen ausschneiden möchten.

Hinweis: Wenn Wörter durch mehr als ein Leerzeichen getrennt sind, sollten Sie Leerzeichen zuerst mit der TRIM-Funktion normalisieren.

Die Nummer 6 wird dann als "Instanznummer" in ein anderes SUBSTITUT eingesteckt:

SUBSTITUTE(B5," ","~",6) // insert tilde

Hier ersetzen wir die 6. Instanz eines Leerzeichens ("") durch eine Tilde (~). Nachdem SUBSTITUTE ausgeführt wurde, wird die folgende Zeichenfolge zurückgegeben:

"It's been seven hours and fifteen~days"

Hinweis: Wir verwenden eine Tilde (~) nur, weil es sich um ein selten vorkommendes Zeichen handelt. Sie können jedes beliebige Zeichen verwenden, solange es nicht im Quelltext erscheint.

Als nächstes verwenden wir die FIND-Funktion, um die Tilde zu lokalisieren:

FIND("~","It's been seven hours and fifteen~days")-1

FIND gibt 34 zurück, da die Tilde das 34. Zeichen ist. Wir subtrahieren 1 von dieser Zahl, weil wir nicht das letzte Leerzeichen in das Endergebnis aufnehmen möchten. Wir können die Formel jetzt vereinfachen, um:

=MID(B5,1,33) // extract final text

Die MID-Funktion gibt dann die Zeichen 1-33 zurück:

"It's been seven hours and fifteen"

Mit einem benutzerdefinierten Trennzeichen

Dieselbe Formel kann mit einem anderen Trennzeichen verwendet werden. Um beispielsweise den gesamten Text nach dem letzten Schrägstrich "/" zu entfernen, können Sie Folgendes verwenden:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-1)

Entfernen Sie die letzten n Wörter

Sie können die Formel anpassen, um die letzten 2 Wörter, die letzten 3 Wörter usw. zu entfernen. Die allgemeine Form lautet:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,d,"~",LEN(A1)-LEN(SUBSTITUTE(A1,d,""))-(n-1)))-1)

Dabei ist d das Trennzeichen und n die Anzahl der zu entfernenden Wörter.

Interessante Beiträge...