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:
- text: Aqui você determina o texto que será separado.
- col_delimiter: É o delimitador de coluna, por exemplo “|”, então o texto será quebrado em colunas a cada separador que localizar.
- [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.
- [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.
- [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.
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(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
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:
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);“|”;“-“;;””)
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:
Download
Clique no botão abaixo para realizar o download da planilha de TextoDivisão Excel, com exemplo de dados: