Fórmula do Excel: obter a última palavra -

Fórmula genérica

=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))

Resumo

Para obter a última palavra de uma string de texto, você pode usar uma fórmula baseada nas funções TRIM, SUBSTITUTE, RIGHT e REPT. No exemplo mostrado, a fórmula em C6 é:

=TRIM(RIGHT(SUBSTITUTE(B6," ",REPT(" ",100)),100))

O que retorna a palavra "tempo".

Explicação

Esta fórmula é um exemplo interessante de abordagem de "força bruta" que tira vantagem do fato de que TRIM removerá qualquer número de espaços iniciais.

Trabalhando de dentro para fora, usamos a função SUBSTITUTE para localizar todos os espaços no texto e substituir cada espaço por 100 espaços:

SUBSTITUTE(B6," ",REPT(" ",100))

Então, por exemplo, com a string de texto "um, dois, três", o resultado será parecido com este:

one----------two----------three

Com hífens representando espaços para legibilidade. Lembre-se de que haverá 100 espaços entre cada palavra.

Em seguida, a função RIGHT extrai 100 caracteres, começando da direita. O resultado será assim:

-------three

Finalmente, a função TRIM remove todos os espaços à esquerda e retorna a última palavra.

Nota: Estamos usando 100 arbitrariamente porque esse deve ser um número grande o suficiente para lidar com palavras muito longas. Se você tiver alguma situação estranha com palavras muito longas, aumente esse número conforme necessário.

Lidando com espaçamento inconsistente

Se o texto com o qual você está trabalhando tiver espaçamento inconsistente (ou seja, espaços extras entre palavras, espaços extras à esquerda ou à direita, etc.) Esta fórmula não funcionará corretamente. Para lidar com essa situação, adicione uma função TRIM extra dentro da função substituta, assim:

=TRIM(RIGHT(SUBSTITUTE(TRIM(B6)," ",REPT(" ",100)),100))

Isso normalizará todos os espaços antes que a lógica principal seja executada.

Bons links

Bela explicação em MrExcel.com por T. Valko (Biff)

Artigos interessantes...