TextoDivisão Excel – TextSplit Excel

A função TextoDivisão do Excel ou TextSplit tem por finalidade dividir o texto em células ou em uma matriz de dados à partir de delimitadores de linhas e/ou colunas. A função Textodivisão está disponível no Microsoft 365.

No vídeo abaixo há uma aula completa de como usar a função textodivisão no Excel.

Sintaxe Função TextoDivisão ou TextSplit Excel

A função tem a seguinte sintaxe:

=TEXTODIVISÃO(text;col_delimiter;[row_delimiter];[ignore_empty];[pad_with])

Vamos entender os parâmetros da função:

  1. text: Aqui você determina o texto que será separado.
  2. col_delimiter: É o delimitador de coluna, por exemplo “|”, então o texto será quebrado em colunas a cada separador que localizar.
  3. [row_delimiter]: Delimitador de linha, assim como a coluna, também há o de quebra de linha, então, a cada delimitador encontrato, por exemplo “;” será quebrado por linha o texto. Este parâmetro é opcional, porém, você pode passar somente ele se não tiver uma quebra de coluna, bastando passar vazio no parâmetro col_delimiter.
  4. [ignore_empty]: É um parâmetro não obrigatório que identifica se devem ser ignorados os valores vazios, por padrão é falso, ou seja, irá retornar todos os valores quebrados por delimitador, então se houverem valores vazios serão retornadas células vazias também.
  5. [pad_with]: Parâmetro opcional, nele temos um valor padrão caso haja valores vazios na quebra de linhas, irá retornar #N/D caso hajam valores não preenchidos em uma quebra de linhas e colunas. Então aqui você pode definir um valor padrão nestes casos, como por exemplo “” para retornar texto vazio na célula.

Exemplo TextoDivisão Excel – Fórmula Texto para colunas

No nosso exemplo temos uma lista de valores separados por “;” que gostaríamos de dividir em colunas usando esta função para que seja dinâmico então o retorno.

TextoDivisão Excel 1

Como podemos notar temos textos também de tamanhos variados, que serão separados em mais colunas.

Para esta divisão usamos a seguinte fórmula:

TextoDivisão Excel 2

=TEXTODIVISÃO(A7;”;“;;VERDADEIRO)

No caso estamos passando no primeiro parâmetro; text; a célula A7, que contém o texto e em seguida passamos o parâmetro col_delimiter como “;”, perceba que está entre aspas duplas, pois é um texto e por fim passamos [ignore_empyt] como VERDADEIRO para que sejam ignorados valores vazios no texto a ser separado.

Temos então como resultado arrastando a mesma

TextoDivisão Excel 3

Exemplo TextoDivisão Excel – Fórmula Texto para linhas

No exemplo anterior realizamos a divisão dos dados por colunas, agora faremos por linhas.

No mesmo exemplo anterior de dados, podemos dividir por linhas ao invés de colunas usando a mesma função, apenas mudando um parâmetro.

Veja a função que usamos então:

=TEXTODIVISÃO(A7;;”;“;VERDADEIRO)

Perceba na função estamos deixando o segundo parâmetro, col_delimiter, em branco.

E estamos passando no row_delimiter o valor “;” como o separador de linha.

O efeito que temos então é a separação não por colunas, mas por linhas do texto.

Uma função interessante que podemos usar em conjunto com a função TEXTODIVISÃO no Excel é a UNIRTEXTO.

A função UnirTexto permite que textos de várias células sejam unidos.

Com isso, podemos por exemplo unir os textos de todos registros de uma lista ou tabela e separar os dados com uma única fórmula.

Veja abaixo o uso:

Fórmula utilizada:

=TEXTODIVISÃO(UNIRTEXTO(“;”;;A7:A20);;”;”;VERDADEIRO)

Na fórmula estamos passando como delimitador para unir o texto o “;”, com isso, ao final de cada uma das células temos então o ponto e vírgula, justamente o nosso delimitador utilizado no textodivisão pra dividir em linhas.

E unindo as duas temos então todos os valores do intervalo separados em linhas de uma só vez como na imagem acima.

E se houverem modificações dos dados o resultado da fórmula muda instantaneamente.

Exemplo TextoDivisão Excel – Fórmula Texto para Linhas e Colunas

A função TextoDivisão permite que você separe os dados por colunas, linhas e também por colunas e linhas ao mesmo tempo.

Veja no exemplo abaixo:

TextoDivisão Excel 4

O texto acima tem delimitadores “|” e “-“, sendo o delimitador “|” para a coluna e o delimitador “-” para linha.

Então usamos a seguinte fórmula:

=TEXTODIVISÃO(B5;“|”;“-“😉

No segundo parâmetro passamos o delimitador de coluna, col_delimiter como “|” e no terceiro parâmetro, row_delimiter, passamos “;”.

O resultado que temos então é o seguinte:

Perceba que temos então a quebra de colunas e linhas.

Mas também temos um resultado novo #N/D, pois a segunda linha tem mais colunas que a primeira, então como a fórmula não sabia o que retornar, retornou não disponível.

Para que haja um tratamento de erro automático para estes casos basta preencher o último campo da função, o parâmetro [pad_with] com um texto padrão, por exemplo “”, e com isso terá um texto vazio na fórmula ao invés de erro.

E como usamos no exemplo anterior, você também pode usar a função UNIRTEXTO para unir vários textos e separar eles de uma só vez usando a função textodivisão, como vemos abaixo com o uso da fórmula:

=TEXTODIVISÃO(UNIRTEXTO(“-“;;B5:B7);“|”;“-“;;””)

TextoDivisão TextSplit Excel 2

Extrair Somente Texto de Células – TextoDivisão Excel

Algo que ficou muito mais fácil com esta nova função foi separar somente texto de uma célula.

O princípio é o seguinte:

Temos uma célula com textos e números, queremos apenas o texto.

A função textodivisão trabalha com delimitadores, e podemos passar vários de uma só vez.

Então o que podemos fazer é simplesmente passar uma lista de números 0 à 9, usando a função Sequência para que o texto seja então “dividido” por estes valores e depois podemos unir novamente o texto usando a função UnirTexto.

Veja um exemplo:

=UNIRTEXTO(“”;;TEXTODIVISÃO(B8;SEQUÊNCIA(10;;0;1)))

Como resultado temos então um texto aonde os caracteres são separados por números e depois podemos unir os caracteres com o UNIRTEXTO como na fórmula.

Extrair Somente Números de Células – TextSplit Excel

A função TextSplit ou TextoDivisão também pode ser usada para separar somente números de uma célula.

Para isso usamos a mesma lógica vista em Extrair somente textos de células.

Para isso usamos algumas outras funções.

A função CARACT, retorna um caractere da lista que vai de 1 à 255, todos os caracteres de texto, numéricos e símbolos.

Sendo assim, criamos duas listas:

CARACT(SEQUÊNCIA(47;;1;1))

e

CARACT(SEQUÊNCIA(198;;58;1))

Isso porque os números que vão do 48 ao 57 são os números de 0 à 9 e deixamos eles de fora então.

Para unir as sequências de caracteres usamos a nova função chamada VSTACK, ainda sem tradução para o português, mas já funcional.

A função VSTACK permite unir matrizes de dados, com isso usamos da seguinte forma:

VSTACK(CARACT(SEQUÊNCIA(47;;1;1));CARACT(SEQUÊNCIA(198;;58;1)))

Simplesmente passando as duas matrizes e com isso temos uma lista de delimitadores com todos os caracteres, exceto a sequência de 0 à 9.

Usamos então o UNIRTEXTO para unir todos estes valores:

=UNIRTEXTO(“”;;VSTACK(CARACT(SEQUÊNCIA(47;;1;1));CARACT(SEQUÊNCIA(198;;58;1))))

E em seguida o TEXTODIVISÃO e o UNIRTEXTO novamente:

=UNIRTEXTO(” “;;TEXTODIVISÃO(B8;VSTACK(CARACT(SEQUÊNCIA(47;;1;1));CARACT(SEQUÊNCIA(198;;58;1)))))

Temos então como resultado:

TextoDivisão TextSplit Excel 1

Download

Clique no botão abaixo para realizar o  download da planilha de TextoDivisão Excel, com exemplo de dados:

Baixe a planilha


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel