Ich muss eine Zelle am ersten Trennzeichen teilen (von rechts nach links), damit ich diesen Wert in eine andere Zelle einfügen kann.
Beispielsweise könnten meine Daten in Zelle A1 so aussehen:
"something - more something - a lot more of something - (this is the text I need)"
Zelle B1 benötigt den Wert "(das ist der Text, den ich brauche)"
bisher habe ich:
=RIGHT(a1,LEN(FIND(RIGHT("-"),a1)))
aber dies scheint nur das letzte Zeichen zurückzugeben: ")".
Antwort1
Du brauchst dafür diese Formel:
=MID(A1,FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,LEN(A1))
Abbauen:
LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))
Zählt, wie oft "-" innerhalb der Zelle vorkommt,
SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-","")))
Ersetzt dann das letzte Vorkommen von "-" durch "~~~~~". Wenn "~~~~~" in Ihrer Eingabe normal vorkommen könnte, verwenden Sie hier einen anderen Wert.
FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1
Findet die Position des gerade erstellten „~~~~~“ und fügt eins hinzu, sodass wir direkt dahinter beginnen. Und schließlich verwendet die vollständige Formel diese Position, MID()
um den gewünschten Text zu extrahieren.
Antwort2
Beide der oben genannten Möglichkeiten würden funktionieren, aber hier ist etwas, das leichter verdaulich ist:
=TRIM(RIGHT(SUBSTITUTE(A1,"-",REPT(" ",LEN(A1))),LEN(A1)))