Skip to main content

Como comparar valores separados por vírgula em duas células e retornar valores duplicados ou únicos no Excel?

Author: Siluvia Last Modified: 2025-06-04

Como mostrado na captura de tela abaixo, existem duas colunas - Coluna1 e Coluna2, cada célula na coluna contém números separados por vírgula. Para comparar os números separados por vírgula na Coluna1 com o conteúdo da célula na mesma linha da Coluna2 e retornar todos os valores duplicados ou únicos, o que você poderia fazer?

Este tutorial fornece dois métodos para ajudá-lo a realizar essa tarefa.

compare comma separated values in two cells


Comparar valores separados por vírgula em duas células e retornar valores duplicados ou únicos com fórmulas

Esta seção fornece duas fórmulas para ajudar a comparar os valores separados por vírgula em duas células e retornar os valores duplicados ou únicos entre elas.

Observação: As fórmulas a seguir funcionam apenas no Excel para 365. Se você estiver usando outras versões do Excel, tente usar o método VBA abaixo.

Tomando as duas colunas acima como exemplo, para comparar os números separados por vírgula na Coluna1 com os números separados por vírgula na mesma linha da Coluna2 e retornar valores duplicados ou únicos, proceda da seguinte forma.

sample data

Retornar valores duplicados

1. Selecione uma célula para exibir os números duplicados entre as duas células especificadas com números separados por vírgula; neste caso, seleciono a célula D2, depois insira a fórmula abaixo e pressione a tecla Enter. Selecione a célula da fórmula e arraste sua Alça de Preenchimento Automático para baixo para obter os números duplicados entre as células nas outras linhas.

=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))

 compare to return duplicate values

Retornar valores únicos

Para retornar os números únicos entre as duas células especificadas com números separados por vírgula na mesma linha, a seguinte fórmula pode ajudar.

1. Selecione uma célula para exibir os números únicos; neste caso, seleciono a célula E2, depois insira a fórmula abaixo e pressione a tecla Enter. Selecione a célula da fórmula e arraste sua Alça de Preenchimento Automático para baixo para obter os números únicos entre as células nas outras linhas.

=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

compare to return unique values

Notas:

1) As duas fórmulas acima só podem ser aplicadas no Excel para 365. Se você estiver usando uma versão do Excel diferente do Excel para 365, tente usar o método VBA a seguir.
2) As células a serem comparadas devem estar adjacentes umas às outras na mesma linha ou coluna.
a screenshot of kutools for excel ai

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.
Potencialize suas capacidades no Excel com ferramentas alimentadas por IA. Baixe Agora e experimente uma eficiência como nunca antes!

Comparar duas colunas com valores separados por vírgula e retornar valores duplicados ou únicos com VBA

A função definida pelo usuário fornecida nesta seção ajuda a comparar os valores separados por vírgula em duas células especificadas e retornar os valores duplicados ou únicos entre elas. Proceda da seguinte forma.

Tomando o mesmo exemplo acima, para comparar os números separados por vírgula na Coluna1 com os números separados por vírgula na mesma linha da Coluna2 e retornar valores duplicados ou únicos, experimente a função definida pelo usuário nesta seção.

 sample data

1. Na pasta de trabalho aberta, pressione as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.

2. Na janela Microsoft Visual Basic for Applications, clique em Inserir > Módulo e copie o seguinte código VBA na janela Módulo (Código).

 copy anf paste the code into the module

Código VBA: Comparar valores separados por vírgula em duas células e retornar valores duplicados/únicos

Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
    Dim R1Arr As Variant
    Dim R2Arr As Variant
    Dim Ans1 As String
    Dim Ans2 As String
    Dim Separator As String
    Dim d1 As New Dictionary
    Dim d2 As New Dictionary
    Dim d3 As New Dictionary
    Application.Volatile

    Separator = ", "
    
    R1Arr = Split(Rng1.Value, Separator)
    R2Arr = Split(Rng2.Value, Separator)
    
    Ans1 = ""
    Ans2 = ""
    
    For Each ch In R2Arr
        If Not d2.Exists(ch) Then
            d2.Add ch, "1"
        End If
    Next
    
    If Op Then
        For Each ch In R1Arr
            If d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans1 = Ans1 & ch & Separator
                End If
            End If
        Next
        If Ans1 <> "" Then
            Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
        End If
        COMPARE = Ans1
    Else
        For Each ch In R1Arr
            If Not d1.Exists(ch) Then
                d1.Add ch, "1"
            End If
        Next
        
        For Each ch In R1Arr
            If Not d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        For Each ch In R2Arr
            If Not d1.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        If Ans2 <> "" Then
            Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
        End If
        COMPARE = Ans2
    End If

End Function

3. Após colar o código na janela Módulo (Código), vá em Ferramentas > Referências para abrir a janela Referências – VBAProject, marque a caixa Microsoft Scripting Runtime e clique no botão OK.

 click Tools > References and check Microsoft Scripting Runtime box

4. Pressione as teclas Alt + Q para fechar a janela Microsoft Visual Basic for Applications.

5. Agora você precisa aplicar duas funções separadamente para retornar os valores duplicados e únicos de duas células com valores separados por vírgula.

Retornar valor duplicado

Selecione uma célula para exibir os números duplicados; neste exemplo, seleciono a célula D2, depois insira a fórmula abaixo e pressione a tecla Enter para obter os números duplicados entre as células A2 e B2.

Selecione a célula da fórmula e arraste sua Alça de Preenchimento Automático para baixo para obter os números duplicados entre as células nas outras linhas.

=COMPARE(A2,B2,TRUE)

 use formula to return duplicate value

Retornar valores únicos

Selecione uma célula para exibir os números únicos; neste exemplo, seleciono a célula E2, depois insira a fórmula abaixo e pressione a tecla Enter para obter os números únicos entre as células A2 e B2.

Selecione a célula da fórmula e arraste sua Alça de Preenchimento Automático para baixo para obter os números únicos entre as células nas outras linhas.

=COMPARE(A2,B2,FALSE)

 use formula to return unique value

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: Revolucione a análise de dados com base em: Execução Inteligente | Gerar Código | Criar Fórmulas Personalizadas | Analisar Dados e Gerar Gráficos | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço sem Perder Dados | Arredondar...
Super PROC: PROC com Múltiplos Critérios | PROC com Múltiplos Valores | Procura em várias planilhas | Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente uma Lista Suspensa | Lista Suspensa Dependente | Lista Suspensa com Múltipla Seleção...
Gerenciador de Colunas: Adicionar um Número Específico de Colunas | Mover Colunas | Alternar Estado de Visibilidade das Colunas Ocultas | Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco | Visualização de Design | Barra de fórmulas aprimorada | Gerenciador de Pasta de trabalho & Planilha | Biblioteca de AutoTexto | Selecionador de Data | Mesclar Dados | Criptografar/Descriptografar Células | Enviar Email por Lista | Super Filtro | Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...) | Mais de50 Tipos de Gráficos (Gráfico de Gantt, ...) | Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ...) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ... e muito mais

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...


O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!