Fórmula do Excel: extrair palavra que começa com um caractere específico -

Índice

Fórmula genérica

=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))

Resumo

Para extrair palavras que começam com um caractere específico, você pode usar uma fórmula baseada em seis funções: TRIM, LEFT, SUBSTITUTE, MID, LEN e REPT. Essa abordagem é útil se você precisar extrair coisas como um nome de usuário do Twitter de uma célula que contém outro texto.

No exemplo mostrado, a fórmula em C5 é:

=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))

Explicação

Começando de dentro para fora, a função MID é usada para extrair todo o texto após "@":

MID(B5,FIND("@",B5),LEN(B5))

A função FIND fornece o ponto de partida e, para extrair o total de caracteres, apenas usamos LEN no texto original. Isso é um pouco desleixado, mas evita ter que calcular o número exato de caracteres a extrair. O MID não se importa se este número for maior do que os caracteres restantes, ele simplesmente extrai todo o texto após "@".

Em seguida, "inundamos" o texto restante com caracteres de espaço, substituindo qualquer espaço único por 100 espaços usando uma combinação de SUBSTITUTE e REPT:

SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))

Isso parece loucura, mas a lógica fica clara a seguir.

Em seguida, para extrair apenas a palavra que queremos (ou seja, @palavra), usamos LEFT para extrair os primeiros 100 caracteres da esquerda. Isso nos dá "@word", além de muitos espaços extras. Para visualizar, os hífens abaixo representam espaços:

@palavra---------------------

Agora só precisamos remover todos os espaços extras. Para isso, usamos a função TRIM.

Nota: 100 representa a palavra mais longa que você espera encontrar que começa com o caractere especial. Aumente ou diminua para atender às suas necessidades.

Tem uma maneira melhor de fazer isso? Deixe-me saber nos comentários abaixo!

Artigos interessantes...