Excel - Formeln und Funktionen - Tipp Nr. 1194

Letztes Vorkommen eines Zeichens finden

Tipp getestet unter Excel 2007, 2010, 2013, 2013;

Sie wollen aus dem Text einer Zelle das letzte Wort auslesen. Klar ist, dass unmittelbar vor dem Wort ein Leerzeichen steht. Die Zahl der gesamten Leerzeichen des Textes ist aber variabel.

Nehmen wir einen Beispieltext: "Gesucht ist das letzte Wort" (in Zelle A1)

  1. Mit der Funktion FINDEN ermitteln wir bequem das erste Leerzeichen:
    =FINDEN(" ";A1)
    (Leerzeichen zwischen den beiden Anführungszeichen)
  2. Die Funktion WECHSELN tauscht jedes Vorkommen eines Textteils durch einen anderen Texteil aus:
    =WECHSELN(A1;"e";"xy")
    ergäbe "Gxysucht ist das lxytztxy Wort".
    Wenn wir also die Leerzeichen im Text durch eine leere Zeichenfolge ("") ersetzen, können wir aus der Differenz zwischen der Länge des ursprünglichen Textes und der des so veränderten die Anzahl der Leerzeichen auslesen:
    =LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";""))
    (Leerzeichen zwischen den beiden ersten Anführungszeichen, zwischen den beiden letzten nicht.)
    Ergebnis: 4.
  3. Die WECHSELN-Funktion hat noch ein viertes optionales Argument: "ntes_Auftreten"
    Wenn Sie ntes_Auftreten angeben, wird nur dieses eine Vorkommen des alten Textes ersetzt.
    Verwenden wir daher die oben (2.) gewonnene Formel, um nur das letzte Leerzeichen zu ersetzen und mit der FINDEN-Funktion die Position dieses Zeichens im Gesamttext zu ermitteln. Dazu ersetzen wir das letzte Leerzeichen durch ein Zeichen, das im Text nicht vorkommt (z.B. "_"):
    =FINDEN("_";WECHSELN(A1;" ";"_";LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";""))))
    FINDEN sucht nach dem einzigen Vorkommen des "_"-Zeichens und damit wissen wir, dass das letzte Leerzeichen an der 23. Stelle im Text steht.
  4. Diese Formel verwenden wir in der TEIL-Funktion, um den Beginn des Teilstrings (letztes Wort), den wir auslesen wollen, zu gewinnen:
    =TEIL(A1;FINDEN("_";WECHSELN(A1;" ";"_";LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";""))))+1;200)
    Für das letzte Argument (Länge des neuen Textes) nehmen Sie einfach eine Zahl, die sicher größer ist, als das gesuchte, letzte Wort (z.B. 200).
    Ergebnis (hoffentlich): "Wort".