O Microsoft Excel oferece um conjunto de funções para trabalhar com texto . Quando você deseja extrair parte de uma string de texto ou dividir uma string em linhas ou colunas, existem três funções específicas que realizam o trabalho.
Com TEXTBEFORE e TEXTAFTER, você pode extrair texto antes ou depois de uma determinada palavra ou caractere. Isso torna essas funções mais flexíveis do que as funções LEFT, RIGHT e MID que você pode estar usando. Para dividir uma string em várias células, você pode usar TEXTSPLIT.
Essas três funções são novas no Excel a partir de agosto de 2022. Elas serão implementadas para Office Insiders e, em seguida, para todos os usuários do Excel ao longo do tempo.
A função TEXTBEFORE
A sintaxe da função é
TEXTBEFORE(text, delimiter, instance, match_mode, match_end, if_not_found)
. Os dois primeiros argumentos são necessários para text
serem o texto real ou uma referência de célula e delimiter
serem o ponto em que você deseja o texto antes.
Aqui estão as descrições dos três argumentos opcionais:
- Instância : Use este argumento se houver mais de uma ocorrência de
delimiter
na string e você quiser uma específica. - Match_mode : insira 0 para diferenciar maiúsculas de minúsculas ou 1 para não diferenciar maiúsculas de minúsculas. O padrão é 0.
- Match_end : Digite 0 para não corresponder o delimitador ao final do texto e 1 para corresponder. O padrão é 1.
- If_not_found : Use este argumento se você preferir um resultado em vez de um erro para valores não encontrados.
Agora que você conhece os argumentos, vejamos alguns exemplos de uso de TEXTBEFORE.
Neste primeiro exemplo, extrairemos todo o texto antes da palavra “de” na célula A2 usando esta fórmula:
=TEXTOANTES(A2,"de")
Usando a próxima fórmula, extrairemos todo o texto antes da segunda instância da palavra “texto”.
=TEXTOANTES(A2,"texto",2)
Para mais um exemplo, usaremos o match_mode
argumento para uma correspondência que diferencia maiúsculas de minúsculas.
=TEXTOANTES(A2,"TEXTO",,0)
A função TEXTAFTER
TEXTAFTER é exatamente o oposto de TEXTBEFORE. A sintaxe da função é TEXTAFTER(text, delimiter, instance, match_mode, match_end, if_not_found)
.
Como sua contraparte, os dois primeiros argumentos são necessários para text
serem o texto real ou uma referência de célula e delimiter
serem o ponto em que você deseja o texto depois.
Os três argumentos opcionais descritos acima também funcionam da mesma forma que a função TEXTBEFORE.
Neste primeiro exemplo, extrairemos todo o texto após a palavra “de” na célula A2 usando esta fórmula:
=TEXTODEPOIS(A2,"de")
Usando a próxima fórmula, extrairemos todo o texto após a segunda instância da palavra “texto”.
=TEXTODEPOIS(A2,"texto",2)
E, finalmente, usaremos o match_mode
argumento para uma correspondência que diferencia maiúsculas de minúsculas.
=TEXTODEPOIS(A2,"TEXTO",,0)
A função TEXTSPLIT
Com a função TEXTSPLIT você pode dividir o texto em células em uma linha ou coluna com base no delimitador, por exemplo, um espaço ou ponto final.
A sintaxe é TEXTSPLIT(text, column_delimiter, row_delimiter, ignore, match_mode, pad_with)
onde o primeiro argumento é necessário e pode ser um texto real ou uma referência de célula. Por padrão, a fórmula divide o texto em colunas, mas você pode usar linhas com o row_delimiter
argumento.
Aqui estão as descrições dos argumentos restantes:
- Ignorar : Digite FALSE para criar uma célula vazia quando dois delimitadores forem consecutivos. O padrão é verdadeiro.
- Match_mode : pesquisa o delimitador em busca de uma correspondência com o padrão diferenciando maiúsculas de minúsculas.
- Pad_with : para preencher o resultado, insira um valor. Caso contrário, o erro #N/A será exibido.
Neste exemplo, dividiremos a string de texto na célula A2 em colunas com um espaço column_delimiter
entre aspas. Aqui está a fórmula:
=TEXTSPLIT(A2," ")
Em vez de dividir a string em colunas, vamos dividi-la em linhas usando um espaço como nosso row_delimiter
com esta fórmula:
=TEXTSPLIT(A2,," ")
Observe nesta fórmula que deixamos o column_delimiter
argumento em branco e usamos apenas o row_delimiter
.
Para este próximo exemplo, dividiremos somente após o ponto e vírgula em outra coluna:
=TEXTPLIT(A2,";")
A seguir, dividiremos somente após o ponto e vírgula em uma linha em vez de uma coluna:
=TEXTPLIT(A2,,";")
A função TEXTSPLIT é poderosa. Se você estiver procurando exemplos mais complexos de uso de argumentos opcionais, visite a página de suporte da Microsoft para a função TEXTSPLIT .
Na próxima vez que você quiser extrair texto de uma célula ou dividir uma longa sequência de texto, lembre-se dessas funções do Excel . Então, quando você precisar juntar strings novamente, aprenda como adicionar facilmente texto a uma célula com uma fórmula .