Como remover caracteres ou palavras duplicadas em uma string de uma célula do Excel?
Ao trabalhar com dados no Excel, é bastante comum encontrar situações em que as células contêm caracteres repetidos ou palavras duplicadas. Por exemplo, você pode ter entradas geradas por usuários, logs exportados ou códigos de produtos nos quais caracteres ou palavras podem aparecer várias vezes. Remover essas duplicatas pode ajudar a limpar seus dados para análise posterior, melhorar a legibilidade ou preparar strings para uso em outros sistemas.
Este guia introduz vários métodos para remover caracteres ou palavras duplicadas dentro de uma única célula. Você pode escolher a solução mais adequada com base na sua versão do Excel, conforto técnico e o tipo de delimitador usado em seus dados. Se seus dados envolvem caracteres individuais ou palavras inteiras separadas por espaços ou pontuação, há uma abordagem prática abaixo que você pode usar.
- Remover caracteres ou palavras duplicadas usando Fórmula do Excel (Matriz Dinâmica)
- Remover caracteres duplicados de uma string de texto com Função Definida pelo Usuário
- Remover palavras duplicadas separadas por pontuação com Função Definida pelo Usuário
Remover caracteres ou palavras duplicadas usando Fórmula do Excel (Matriz Dinâmica)
Se você estiver usando Microsoft 365 ou Excel 2021 e versões posteriores, pode aproveitar fórmulas de matriz dinâmica para remover caracteres ou palavras duplicadas de uma célula — completamente sem VBA. Essas funções, como TEXTSPLIT, UNIQUE, TEXTJOIN, e MID, facilitam dividir, deduplicar e reconstruir a string diretamente na sua planilha.
Este método é especialmente recomendado se você prefere não usar macros, quer uma solução eficiente e está confortável com os recursos mais recentes de fórmulas do Excel.
Prós: Recalcula instantaneamente quando os dados de origem mudam, não é necessário habilitar macros ou permissões especiais, a fórmula pode ser facilmente aplicada a grandes intervalos de dados.
Contras: Funciona apenas no Excel para Microsoft 365, Excel 2021 ou versões mais recentes (não funciona no Excel 2019 ou anterior).
Para remover caracteres duplicados dentro de uma célula (por exemplo, "banana" → "ban"):
1. Selecione a célula onde deseja exibir o resultado (por exemplo, célula B2 ao lado da sua célula de origem A2) e insira a seguinte fórmula:
=TEXTJOIN("",,UNIQUE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)))
Esta fórmula divide o conteúdo de A2 em caracteres únicos usando MID, gera posições sequenciais usando ROW(INDIRECT(...)), extrai caracteres únicos com UNIQUE e depois os combina novamente em uma string de texto com TEXTJOIN.
2. Pressione Enter. O resultado da fórmula exibirá a string em A2 com os caracteres duplicados removidos, preservando a ordem. Para aplicar a mesma operação para outras linhas, use a alça de preenchimento para copiar a fórmula conforme necessário.
Nota: Se você vir um erro #NOME?, sua versão do Excel pode não suportar essas funções. Verifique se você está usando o Excel para Microsoft 365 ou Excel 2021 ou posterior.
Solução de problemas: Às vezes, espaços extras ou pontuação podem interferir nos resultados. Considere usar TRIM ou TEXTSPLIT com argumentos adicionais se seus dados não estiverem formatados de forma consistente.
Usar fórmulas de matriz dinâmica ajuda a manter seu fluxo de trabalho eficiente e atualizado e simplifica tarefas de limpeza de dados para padrões de string simples e complexos.
Remover caracteres duplicados de uma string de texto com Função Definida pelo Usuário
Se você tiver um intervalo de células contendo strings de texto e precisar remover caracteres duplicados de cada célula — por exemplo, transformando "aabbcc" em "abc", conforme ilustrado abaixo — uma função personalizada do VBA pode ajudá-lo a realizar isso rapidamente, especialmente se sua versão do Excel não suportar fórmulas avançadas de matriz.
1. Mantenha pressionadas as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo. Certifique-se de adicionar o código perto do início do módulo para evitar conflitos com outras macros que você possa ter.
Código VBA: Remover caracteres duplicados de uma string de texto em uma célula
Function RemoveDupes1(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
xChar = VBA.Mid(xValue, i, 1)
If xDic.Exists(xChar) Then
Else
xDic(xChar) = ""
xOutValue = xOutValue & xChar
End If
Next
RemoveDupes1 = xOutValue
End Function
3. Depois de salvar e fechar a janela de código do VBA, retorne à sua planilha. Insira esta fórmula =removedupes1(A2) em uma célula em branco ao lado do seu texto original (aqui, A2 é a célula que contém a string que você deseja processar). Veja a ilustração abaixo:
4. Pressione Enter para calcular o resultado. Arraste a alça de preenchimento para baixo para aplicar a função a todas as outras células relevantes na coluna, e você verá que todos os caracteres duplicados são removidos de cada célula correspondente imediatamente.
Dica: A ordem de aparência é preservada — a função mantém a primeira ocorrência de cada caractere e remove as duplicatas subsequentes dentro da célula.
Precaução: Funções Definidas pelo Usuário (UDFs) adicionadas via VBA estão disponíveis apenas na pasta de trabalho onde o código está armazenado. Se você mover ou compartilhar sua pasta de trabalho, certifique-se de que a macro esteja incluída ou recriada no arquivo de destino. Além disso, as macros precisam estar habilitadas para o código funcionar.

Desbloqueie a Magia do Excel com o Kutools AI
- Execução Inteligente: Realize operações de células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- Fórmulas Personalizadas: Gere fórmulas sob medida para otimizar seus fluxos de trabalho.
- Codificação VBA: Escreva e implemente código VBA sem esforço.
- Interpretação de Fórmulas: Compreenda fórmulas complexas com facilidade.
- Tradução de Texto: Supere barreiras linguísticas dentro de suas planilhas.
Remover palavras duplicadas separadas por pontuação com Função Definida pelo Usuário
Em situações em que seus dados consistem em palavras separadas por pontuação — como vírgulas, ponto-e-vírgulas ou outros símbolos — você pode querer remover palavras repetidas dentro de cada célula enquanto preserva apenas a primeira instância de cada palavra. Isso é especialmente útil para listas de tags, categorias ou endereços. Você pode realizar isso de forma eficiente usando uma função VBA personalizada.
1. Mantenha pressionadas as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo. Coloque o código no início de um novo módulo, se possível, para clareza.
Código VBA: Remover palavras duplicadas separadas por pontuação de uma célula
Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
Dim x
'Updateby Extendoffice
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
End With
End Function
3. Depois de salvar e fechar a janela do VBA, volte para sua planilha. Em uma coluna em branco adjacente aos seus dados, insira esta fórmula: =RemoveDupes2(A2,","). Aqui, A2 refere-se à sua célula de destino e "," indica o sinal de pontuação usado como separador. Você pode substituir essa vírgula por outro caractere (como ";" ou espaço) se suas palavras forem divididas por uma pontuação diferente.
4. Pressione Enter para confirmar, depois arraste a fórmula para baixo para preencher outras células abaixo conforme necessário. Após este passo, todas as palavras duplicadas serão removidas de suas respectivas células, deixando palavras únicas na ordem original. Veja o resultado abaixo:
Nota: Na fórmula, você pode alterar tanto a referência da célula quanto o separador de pontuação conforme apropriado para seus dados. Se múltiplos caracteres ou diferentes tipos de separadores (como espaço e vírgula combinados) forem usados, ajustes adicionais no código podem ser necessários.
Dica: Como com todas as macros do VBA, lembre-se de manter um backup de sua pasta de trabalho e habilitar macros para usar esta função.
Melhores Ferramentas de Produtividade para Office
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para acessar o recurso que você mais precisa...
Office Tab traz interface com abas para o Office e facilita muito seu trabalho
- Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
- Aumente sua produtividade em50% e economize centenas de cliques todos os dias!
Todos os complementos Kutools. Um instalador
O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.





- Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Um instalador, uma licença — configuração em minutos (pronto para MSI)
- Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
- Avaliação completa por30 dias — sem registro e sem cartão de crédito
- Melhor custo-benefício — economize comparado à compra individual de add-ins