Como dividir e extrair texto no Microsoft Excel

Logotipo do Microsoft Excel em um fundo verde

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 textserem o texto real ou uma referência de célula e delimiterserem 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 delimiterna 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:

Recomendado  Como avaliar fórmulas passo a passo no Microsoft Excel

=TEXTOANTES(A2,"de")

Função TEXTBEFORE para uma extração básica

Usando a próxima fórmula, extrairemos todo o texto antes da segunda instância da palavra “texto”.

=TEXTOANTES(A2,"texto",2)

Função TEXTBEFORE usando uma instância

Para mais um exemplo, usaremos o match_modeargumento para uma correspondência que diferencia maiúsculas de minúsculas.

=TEXTOANTES(A2,"TEXTO",,0)

Função TEXTBEFORE usando distinção entre maiúsculas e minúsculas

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 textserem o texto real ou uma referência de célula e delimiterserem 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")

Função TEXTAFTER para uma extração básica

Usando a próxima fórmula, extrairemos todo o texto após a segunda instância da palavra “texto”.

=TEXTODEPOIS(A2,"texto",2)

Função TEXTAFTER usando uma instância

E, finalmente, usaremos o match_modeargumento para uma correspondência que diferencia maiúsculas de minúsculas.

=TEXTODEPOIS(A2,"TEXTO",,0)

Função TEXTAFTER usando distinção entre maiúsculas e minúsculas

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_delimiterargumento.

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.
Recomendado  Como converter quase qualquer unidade no Microsoft Excel

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," ")

Função TEXTSPLIT entre colunas

Em vez de dividir a string em colunas, vamos dividi-la em linhas usando um espaço como nosso row_delimitercom esta fórmula:

=TEXTSPLIT(A2,," ")

Observe nesta fórmula que deixamos o column_delimiterargumento em branco e usamos apenas o row_delimiter.

Função TEXTSPLIT entre linhas

Para este próximo exemplo, dividiremos somente após o ponto e vírgula em outra coluna:

=TEXTPLIT(A2,";")

Função TEXTSPLIT em colunas com um único delimitador

A seguir, dividiremos somente após o ponto e vírgula em uma linha em vez de uma coluna:

=TEXTPLIT(A2,,";")

Função TEXTSPLIT entre linhas com um único delimitador

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 .