extrair texto do último caractere especial no Excel

extrair texto do último caractere especial no Excel

Exemplo:

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

Perguntas: Preciso da palavra após o último pipe (|). No primeiro exemplo, preciso apenas dos ângulos Los e no segundo exemplo, preciso apenas da Califórnia.

Responder1

Usar

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

e B1=GetLastPartAfterPipe(A1)

Responder2

Aqui está uma solução usando apenas funções integradas:

  • primeiro calcule a localização do último |:
    =MAX(IF(MID(A1,ROW(OFFSET(A1,1,1,LEN(A1))),1)="|",ROW(OFFSET(A1,1,1,LEN(A1))),""))
    Esta é uma fórmula de matriz, então pressione CTRL+SHIFT+ENTER depois de digitá-la
  • segundo você pode obter o texto desejado:
    =MID(A1,B1+1,LEN(A1)-B1)

insira a descrição da imagem aqui

Responder3

Como existe um '_backup' no final de tudo, talvez seja melhor fazer isso em duas etapas em vez de criar uma única fórmula muito longa.

Etapa um Bpara retirar os dados após o último canal:

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

Em seguida, passo dois em C:

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

insira a descrição da imagem aqui

Responder4

=LEFT(TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99)),FIND("_",TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99)))-1)
  • TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99))retornará a última substring separada por pipe.
  • LEFT(last_substring,FIND("_", last_substring)-1)em seguida, retorna a parte dessa substring antes do sublinhado.

insira a descrição da imagem aqui

informação relacionada