Extraia texto antes e depois de um caractere no excel
No Excel, você pode escrever fórmulas para extrair texto antes ou depois de um caractere específico. E neste tutorial aprenderemos como escrever essas fórmulas.
Extraia o texto após um caractere
Precisamos usar TRIM, RIGHT, SUBSTITUTE, REPT e LEN nesta fórmula. E no exemplo abaixo, temos valores de duas palavras nos valores e o caractere entre eles.
=TRIM(RIGHT(SUBSTITUTE(A1,B1,REPT(" ",LEN(A1))),LEN(A1))) =TRIM(RIGHT(SUBSTITUTE(original_text,character,REPT(" ",LEN(original_text))),LEN(original_text)))
Para entender esta fórmula, você precisa dividi-la em várias partes:
Na primeira parte, temos SUBSTITUTE(A1,B1,REPT(" ",LEN(A1)))
. Isso faz parte da fórmula que substitui o caractere (,) pelo número de espaços equivalente ao comprimento do caractere.
Você pode ver que há um espaço entre “Conselheiro Excel” em vez da vírgula.
Na segunda parte, =TRIM(RIGHT("Excel Advisor",LEN(A1)))
que extrai o texto do lado direito do texto e depois o corta para remover o espaço extra.
Instâncias de personagens diferentes?
Ao trabalhar com dados, você pode ter várias instâncias do personagem, e a fórmula acima pode não ajudá-lo a lidar com isso. Neste caso, você deve usar a fórmula abaixo.
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,B1,""))<=1,"",MID(SUBSTITUTE(A1,B1,"^^",C1),FIND("^^",SUBSTITUTE(A1,B1,"^^",C1))+2,LEN(A1)))
Com esta fórmula, você precisa especificar o caractere para extrair o texto e, em seguida, a instância do caractere começa.
A fórmula acima é complexa, mas funciona perfeitamente. O código para esta fórmula é a função SUBSTITUTE que ajuda a obter o segundo ou enésimo instante do caractere e então você pode substituir esse instante por um “^^” que ajuda ainda mais na extração do texto.
Mas você também pode usar a nova função TEXTAFTER (OFFICE 365), que tem todas as opções para obter texto após um caractere sem entrar em uma fórmula complexa como acima.
Você deve especificar o caractere e a instância na função.
Extraia texto antes de um caractere
Você pode usar a fórmula abaixo para colocar o texto antes de um caractere.
Esta é a fórmula exata que usamos para obter o texto após um caractere. Em vez de usar DIREITA, você deve usar ESQUERDA. Para obter o texto esquerdo (frente).
=TRIM(LEFT(SUBSTITUTE(A2,B2,REPT(" ",LEN(A2))),LEN(A2)))
E esta fórmula funciona exatamente como esta fórmula. Consulte-o para torná-lo compreensível.
Diferentes instâncias de personagens
Existem duas maneiras de obter o texto antes (ou depois) de um caractere.
=IF(LEN(A2)-LEN(SUBSTITUTE(A2,B2,""))<=1,"",LEFT(SUBSTITUTE(A2,B2,"^^",C2),FIND("^^",SUBSTITUTE(A2,B2,"^^",C2))-1))
Pode ser utilizado em qualquer versão do Excel; você pode especificar os caracteres e a instância para obter o texto.
Mas se você estiver usando Excel (Office 365), não precisará usar esta fórmula complexa. Em vez disso, você pode usar a função TEXTBEFORE.