Dividir a célula do Excel pelo último Delimitador e obter o Texto à esquerda

0

Eu preciso dividir uma célula pelo primeiro delimitador (lendo da direita para a esquerda) para que eu possa colocar esse valor em outra célula.

Por exemplo, meus dados na célula A1 podem ter a seguinte aparência:

"something - more something - a lot more of something - (this is the text I need)"

observe também; pode haver traços mais como segue:

"something - more -something - a lot more of something - (this is the text I need)"

A célula B1 precisa do valor

"something - more something - a lot more of something "

ou

 "something - more -something - a lot more of something

no caso do segundo exemplo

Eu perguntei o oposto desta questão aqui: Dividir a célula do Excel pelo último Delimitador (esta questão não é a mesma que a pergunta que estou fazendo) que me deu a seguinte fórmula:

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

agora eu preciso fazer o oposto disso.

    
por Just_Some_Guy 16.10.2015 / 18:10

1 resposta

1

Se você olhar para a resposta, ele dá uma boa descrição de como a função é construída e seria fácil obter o lado esquerdo.

Da outra resposta:

FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1

Encontra a posição do "~~~~~" que acabamos de criar, e adiciona um para começarmos logo após. E, finalmente, a fórmula completa usa essa posição e MID() para extrair o texto desejado.

Então você agora tem a posição do último -, adicione uma função à esquerda e você tem a sua função

Left(A1,FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))
    
por 16.10.2015 / 18:47