KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

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

AutoraSiluvia Data de Modificação

Conforme ilustrado na captura de ecrã abaixo, existem duas colunas – Coluna1 e Coluna2 –, em que cada célula contém números separados por vírgulas. Como pode comparar os números separados por vírgulas na Coluna1 com o conteúdo da célula correspondente na mesma linha da Coluna2 e obter todos os valores duplicados ou únicos?

Este tutorial apresenta dois métodos para o ajudar a concluir esta tarefa com sucesso.

comparar valores separados por vírgulas em duas células


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

Esta secção apresenta duas fórmulas para comparar valores separados por vírgulas em duas células e devolver os elementos duplicados ou únicos entre elas.

Nota: As fórmulas seguintes funcionam apenas no Excel para 365. Se estiver a utilizar outra versão do Excel, experimente o método VBA indicado abaixo.

Tomando como exemplo as duas colunas acima, para comparar os números separados por vírgulas na Coluna1 com os da Coluna2 na mesma linha e obter os valores duplicados ou únicos, siga estes passos.

dados de exemplo

Devolver Valores Duplicados

1. Selecione uma célula para apresentar os números duplicados entre as duas células especificadas, cujos valores estão separados por vírgulas; neste caso, selecionei a célula D2, introduzi a fórmula abaixo e prima a tecla Enter. Em seguida, selecione a célula com a fórmula e arraste a Alça de Preenchimento Automático para baixo, de modo a obter os números duplicados entre as células das restantes 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, «»)))

 comparar para devolver valores duplicados

Devolver valores únicos

Para obter os números únicos entre as duas células especificadas — que contêm números separados por vírgulas na mesma linha — a fórmula seguinte pode ajudar.

1. Selecione uma célula para apresentar os números únicos; neste caso, selecionei a célula E2, introduzi a fórmula abaixo e prima a tecla Enter. Em seguida, selecione a célula com a fórmula e arraste a Alça de Preenchimento Automático para baixo para obter os números únicos nas células das restantes linhas.

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

comparar para devolver valores únicos

Notas:

1) As duas fórmulas acima apenas podem ser aplicadas no Excel para 365. Se estiver a utilizar uma versão do Excel diferente do Excel para 365, experimente o seguinte método VBA.
2) As células a comparar devem ser adjacentes entre si na mesma linha ou coluna.
uma captura de ecrã do kutools for excel ai

Desbloqueie a Magia do Excel com KUTOOLS AI

  • Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
  • fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
  • Programação VBA: Escreva e implemente código VBA com facilidade.
  • Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
  • Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Potencie as capacidades do seu Excel com ferramentas alimentadas por IA.Descarregue Agorae experimente uma eficiência como nunca antes!

Comparar duas colunas com valores separados por vírgulas e devolver valores duplicados ou únicos com VBA

A função definida pelo utilizador apresentada nesta secção permite comparar os valores separados por vírgulas em duas células especificadas e devolver os valores duplicados ou únicos entre elas. Proceda da seguinte forma.

Utilizando o mesmo exemplo acima, para comparar os números separados por vírgulas na Coluna1 com os números separados por vírgulas na mesma linha da Coluna2 e devolver valores duplicados ou únicos, experimente a função definida pelo utilizador nesta secção.

 dados de exemplo

1. Com o livro aberto, prima as teclas Alt+F11para abrir a janela do Microsoft Visual Basic para Aplicações.

2. Na janela do Microsoft Visual Basic para Aplicações, clique em Inserir>Módulo, e copie o seguinte código VBA para a janela Módulo (Código).

 copiar e colar o código no módulo

Código VBA: Comparar valores separados por vírgulas em duas células e devolver 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. Depois de colar o código na janela Módulo (Código), vá a Ferramentas > Referências para abrir a janela Referências – ProjetoVBA, marque a caixa Microsoft Scripting Runtime e clique no botão OK.

 clicar em Ferramentas > Referências e marcar a caixa Microsoft Scripting Runtime

4. Prima as teclas Alt + Q para fechar a janela do Microsoft Visual Basic para Aplicações.

5. Agora precisa de aplicar duas funções separadamente para obter os valores duplicados e os valores únicos de duas células cujos conteúdos são listas separadas por vírgulas.

Devolver valor duplicado

Selecione uma célula para apresentar os números duplicados; neste exemplo, seleciono a célula D2, introduzo a fórmula abaixo e pressiono a tecla Enterpara obter os números duplicados entre as células A2 e B2.

Selecione a célula com a fórmula e arraste a Alça de Preenchimento Automático para baixo, obtendo assim os números duplicados nas células das linhas seguintes.

=COMPARE(A2,B2,TRUE)

 utilizar fórmula para devolver valor duplicado

Devolver valores únicos

Selecione uma célula para apresentar os números únicos; neste exemplo, seleciono a célula E2, introduzo a fórmula abaixo e pressiono a tecla Enterpara obter os números únicos nas células A2 e B2.

Selecione a célula com a fórmula e arraste a Alça de Preenchimento Automático para baixo, obtendo assim números únicos nas células das linhas seguintes.

=COMPARE(A2,B2,FALSE)

 utilizar fórmula para devolver valor único

As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o 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
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos