Extrahieren Sie Text aus dem letzten Sonderzeichen in Excel

Extrahieren Sie Text aus dem letzten Sonderzeichen in Excel

Beispiel:

*AB|USA|California|los angles_backup
*AB|USA|California_backup

Fragen: Ich brauche das Wort nach dem letzten Pipe-Zeichen (|). Im ersten Beispiel brauche ich nur Los Angeles und im zweiten Beispiel nur Kalifornien.

Antwort1

Verwenden

Function GetLastPartAfterPipe(str As String) As String
    tmp = Split(str, "|")
    GetLastPartAfterPipe = tmp(UBound(tmp))
End Function

und B1=GetLastPartAfterPipe(A1)

Antwort2

Hier ist eine Lösung, die nur integrierte Funktionen verwendet:

  • zuerst die Position von zuletzt berechnen |:
    =MAX(IF(MID(A1,ROW(OFFSET(A1,1,1,LEN(A1))),1)="|",ROW(OFFSET(A1,1,1,LEN(A1))),""))
    Dies ist eine Array-Formel, drücken Sie daher nach der Eingabe STRG+UMSCHALT+EINGABE
  • 2. Hier erhalten Sie Ihren Wunschtext:
    =MID(A1,B1+1,LEN(A1)-B1)

Bildbeschreibung hier eingeben

Antwort3

Da am Ende von allem ein „_backup“ steht, ist es möglicherweise besser, dies in zwei Schritten zu tun, anstatt eine einzige, sehr lange Formel zu erstellen.

Schritt eins, Bum die Daten nach der letzten Pipe zu entfernen:

=RIGHT(A1,LEN(A1)-FIND("@",SUBSTITUTE(A1,"|","@",LEN(A1)-LEN(SUBSTITUTE(A1,"|",""))),1))

Dann Schritt zwei in C:

=MID(B1,1,FIND("_",B1)-1)

Bildbeschreibung hier eingeben

Antwort4

=LEFT(TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99)),FIND("_",TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99)))-1)
  • TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99))gibt die letzte durch Pipes getrennte Teilzeichenfolge zurück.
  • LEFT(last_substring,FIND("_", last_substring)-1)Gibt dann den Teil dieser Teilzeichenfolge vor dem Unterstrich zurück.

Bildbeschreibung hier eingeben

verwandte Informationen