Função DIVIDIRTEXTO no Excel: Como Separar Texto em Várias Colunas Automaticamente

Você já recebeu uma planilha com uma coluna cheia de dados juntos — nome e sobrenome na mesma célula, ou um código de produto com categoria, tamanho e marca separados só por hífen — e teve que separar tudo manualmente, célula por célula? Ou usou o assistente “Texto para Colunas” e descobriu que ele quebra assim que você atualiza os dados originais, porque não é uma fórmula, é uma ação única?

O problema de fazer isso na mão, ou com uma ferramenta que não recalcula sozinha, é que qualquer atualização na base exige repetir o processo do zero. Isso é especialmente chato quando a planilha recebe dados novos toda semana.

Neste artigo vamos mostrar como a função DIVIDIRTEXTO resolve isso, separando texto em várias colunas (ou linhas) automaticamente, direto por fórmula, sem precisar repetir nenhum passo manual quando os dados mudam.

O que é a função DIVIDIRTEXTO

DIVIDIRTEXTO é uma função de matriz dinâmica (equivalente à TEXTSPLIT na versão em inglês) que divide um texto em partes, usando um delimitador que você escolhe, e “derrama” o resultado automaticamente em células vizinhas.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

A sintaxe é:

=DIVIDIRTEXTO(texto; delimitador_col; [delimitador_linha]; [ignorar_célula_vazia]; [modo_correspondência]; [preencher_com])

  • texto: o texto (ou célula) que você quer dividir
  • delimitador_col: o caractere que marca onde o texto deve ser separado em colunas
  • delimitador_linha (opcional): separa o texto em linhas, em vez de colunas
  • ignorar_célula_vazia (opcional): VERDADEIRO ignora delimitadores repetidos em sequência
  • modo_correspondência (opcional): 1 ignora maiúsculas/minúsculas na busca pelo delimitador
  • preencher_com (opcional): o que colocar nas células que sobrarem vazias, no lugar do erro padrão #N/D

Exemplo prático

Imagine uma coluna A com códigos de produto no formato “TV-55-SAMSUNG-2026”, cada parte separada por hífen:

Tabela com códigos de produto na coluna A antes de dividir

Para separar isso em quatro colunas, a fórmula em B1 fica:

=DIVIDIRTEXTO(A1; “-“)

O resultado derrama automaticamente em B1, C1, D1 e E1:

Resultado da função DIVIDIRTEXTO separando o código em quatro colunas

Repare que cada código virou quatro colunas — tipo, tamanho, marca e ano — sem precisar arrastar fórmula linha por linha: basta escrever a fórmula em B1 e ela derrama automaticamente para as linhas de baixo também, se a referência de texto usar uma coluna inteira. Se o texto original em A1 mudar, o resultado se ajusta sozinho — não precisa rodar nada de novo.

Dividindo em linhas, não só em colunas

Se, em vez de espalhar o resultado para o lado, você quiser um item por linha, use o argumento delimitador_linha. Por exemplo, para separar uma lista de e-mails separados por ponto e vírgula, um em cada linha:

=DIVIDIRTEXTO(A1; ; “;”)

Repare que o argumento de delimitador_col ficou vazio (só o ponto e vírgula entre os dois parênteses) — isso porque, nesse caso, você quer dividir só por linha, não por coluna. Também é possível combinar os dois ao mesmo tempo, dividindo por coluna e por linha na mesma fórmula.

Ignorando delimitadores repetidos

Quando o texto tem delimitadores duplicados por erro de digitação — por exemplo, dois espaços em vez de um entre palavras — a função, por padrão, cria uma célula vazia no meio do resultado. Para evitar isso, use o argumento ignorar_célula_vazia como VERDADEIRO:

=DIVIDIRTEXTO(A1; ” “; ; VERDADEIRO)

Isso faz a função tratar espaços duplicados como um único delimitador, sem gerar célula vazia no meio do resultado.

Ignorando maiúsculas e minúsculas no delimitador

O argumento modo_correspondência é útil quando o delimitador é uma palavra ou letra, não um símbolo. Por exemplo, se você quiser dividir um texto sempre que aparecer a palavra “e” (maiúscula ou minúscula), a fórmula fica:

=DIVIDIRTEXTO(A1; “e”; ; ; 1)

O 1 no último argumento faz a função tratar “E” e “e” como o mesmo delimitador. Sem isso, por padrão, a busca diferencia maiúsculas de minúsculas, e o delimitador só seria reconhecido exatamente como digitado.

DIVIDIRTEXTO vs Texto para Colunas

✅ DIVIDIRTEXTO é melhor quando os dados de origem mudam com frequência, porque o resultado é uma fórmula que recalcula sozinha
❌ DIVIDIRTEXTO não substitui o assistente “Texto para Colunas” quando você só precisa fazer a separação uma única vez e quer o resultado como valor fixo, sem depender de fórmula

Vale lembrar que o resultado de DIVIDIRTEXTO ocupa células vizinhas automaticamente — se você apagar a fórmula original, todo o resultado derramado desaparece junto, porque ele existe apenas enquanto a fórmula existir.

Erro comum

O erro mais comum é colocar a fórmula em uma célula que não tem espaço vazio suficiente ao lado para o resultado “derramar”. Se houver qualquer dado em uma das células que o resultado ocuparia, o Excel mostra o erro #DERRAMAR! em vez do resultado.

Antes de aplicar a fórmula, confira se as células à direita (ou abaixo, se estiver usando delimitador_linha) estão realmente vazias.

Disponibilidade

DIVIDIRTEXTO está disponível no Excel para Microsoft 365 (Windows e Mac) e no Excel na Web. Ela não está disponível em versões perpétuas mais antigas, como Excel 2019, 2016 ou anteriores — nesses casos, a alternativa é o assistente “Texto para Colunas”, em Dados > Texto para Colunas. No Google Sheets, a função equivalente é a própria SPLIT, com sintaxe diferente.

Dividindo com múltiplos delimitadores ao mesmo tempo

Um dado real muitas vezes não usa um único caractere consistente como separador — um mesmo texto pode ter hífen em um trecho e espaço em outro. O DIVIDIRTEXTO aceita mais de um delimitador simultaneamente, bastando colocar todos entre chaves, separados por ponto e vírgula: =DIVIDIRTEXTO(A1; {“-“;” “}). Com isso, a função quebra o texto sempre que encontrar qualquer um dos delimitadores da lista, não só um específico. Isso é útil, por exemplo, para separar um endereço como “Rua das Flores-123 Apto 45”, onde o padrão de separação não é uniforme ao longo do texto.

Pegando só um pedaço do resultado, sem deixar tudo derramar

Às vezes você só precisa de uma parte específica do resultado do DIVIDIRTEXTO — por exemplo, só o segundo pedaço de um código dividido — sem ocupar várias células com o resultado inteiro. Nesse caso, envolva o DIVIDIRTEXTO com ÍNDICE: =ÍNDICE(DIVIDIRTEXTO(A1;”-“);1;2). O ÍNDICE pega só a posição desejada (linha 1, coluna 2) do array gerado internamente pelo DIVIDIRTEXTO, sem derramar nada nas células vizinhas. Essa combinação é útil quando o resultado da divisão é só um passo intermediário de uma fórmula maior, e não o resultado final que você quer exibir na planilha.

Lidando com textos que têm quantidade de partes diferente

Um problema comum ao dividir texto em lote é quando nem todas as linhas têm a mesma quantidade de segmentos — por exemplo, alguns nomes têm nome do meio e outros não. Nesse cenário, o DIVIDIRTEXTO simplesmente derrama menos colunas para as linhas com menos partes, preenchendo o restante com o erro #N/D por padrão. Para evitar isso, use o argumento preencher_com: =DIVIDIRTEXTO(A1;” “;;;;””) faz o Excel preencher com um texto vazio, em vez de erro, as posições que não existirem naquela linha específica. Isso deixa a planilha mais limpa visualmente quando os dados de origem não são perfeitamente uniformes.

Compartilhe ou Comente

Veja também: TEXTOANTES e TEXTODEPOIS para extrair partes específicas de um texto e UNIRTEXTO para fazer o caminho inverso, juntando células em um texto só.

Se você curtiu esse artigo aonde mostramos como usar a função DIVIDIRTEXTO para separar texto em várias colunas automaticamente, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.

Você ainda usa o assistente “Texto para Colunas” ou já migrou pra DIVIDIRTEXTO? Qual tipo de dado você mais precisa separar na sua planilha? Conta para nós nos comentários!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *