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

Como encontrar valores comuns em três colunas no Excel?

AutorXiaoyang Data de Modificação

Trabalhar com dados no Excel implica frequentemente comparar listas para identificar entradas partilhadas ou duplicadas. Embora a comparação de duas colunas à procura de valores comuns seja uma tarefa habitual, há situações em que é necessário determinar quais os valores que aparecem simultaneamente em três colunas distintas. Por exemplo, ao consolidar respostas de inquéritos, fundir registos de vendas ou analisar entradas duplicadas em múltiplas listas, é essencial extrair com precisão o conjunto de itens presentes nas três colunas, tal como ilustrado na imagem seguinte. Este artigo apresenta vários métodos práticos para resolver este desafio no Excel, permitindo-lhe identificar de forma eficiente e fiável os valores comuns entre três colunas — quer opte por fórmulas, quer prefira utilizar VBA.

encontrar valores comuns em 3 colunas

Encontrar valores comuns em 3 colunas com fórmulas matriciais

Macro VBA para extrair valores presentes nas três colunas


seta azul direita balão Encontrar valores comuns em 3 colunas com fórmulas matriciais

Para encontrar e extrair valores comuns entre três colunas, pode utilizar fórmulas matriciais concebidas para identificar itens presentes nos três intervalos selecionados. Esta abordagem revela-se especialmente útil em conjuntos de dados onde pretende evitar a dependência de extras do Excel ou ferramentas externas.

Introduza esta fórmula matricial numa célula vazia onde deseja apresentar o primeiro valor comum:

=LOOKUP("zzz",CHOOSE({1,2},"",INDEX(A$2:A$10,MATCH(0,COUNTIF(E$1:E1,A$2:A$10)+IF(IF(COUNTIF(B$2:B$8,A$2:A$10)>0,1,0)+IF(COUNTIF(C$2:C$9,A$2:A$10)>0,1,0)=2,0,1),0))))

Como utilizar esta fórmula matricial:

  • Após introduzir a fórmula na célula selecionada, prima Shift + Ctrl + Enter (e não apenas Enter). O Excel colocará a fórmula entre chavetas para indicar que se trata de uma fórmula matricial.
  • Arraste a fórmula para baixo na coluna até surgirem células vazias. Assim, obterá todos os valores partilhados pelas três colunas, sendo que as células vazias indicarão que já não há mais correspondências.

Encontrar valores comuns em 3 colunas com fórmula de matriz

Notas e explicações dos parâmetros:

  1. Se preferir uma fórmula matricial alternativa, esta também devolve todos os valores únicos presentes nas três colunas:
    =INDEX($A$2:$A$10, MATCH(0, COUNTIF($E$1:E1, $A$2:$A$10)+IF(IF(COUNTIF($B$2:$B$8, $A$2:$A$10)>0,1,0)+IF(COUNTIF($C$2:$C$9, $A$2:$A$10)>0,1,0)=2,0,1),0))
    Mais uma vez, lembre-se de premir Shift + Ctrl + Enter após digitar ou colar a fórmula.
  2. Nestas fórmulas:
    • A2:A10, B2:B8 e C2:C9 são os intervalos nas três colunas que pretende comparar.
    • E1 refere-se à célula imediatamente acima do local onde a sua fórmula começa (para lógica de exclusão). Ajuste as referências das células de modo a corresponderem ao seu intervalo real e à localização exata onde pretende que os resultados apareçam.
  3. Estes métodos funcionam bem com conjuntos de dados moderados, mas podem tornar-se lentos com volumes muito grandes devido às exigências computacionais das fórmulas matriciais.
  4. Tenha cuidado para não alterar o intervalo de origem a meio do processo, pois isso pode provocar resultados incorretos ou erros na fórmula.
  5. Se o resultado incluir linhas em branco, isso significa que todos os valores comuns já foram extraídos e as células restantes não têm mais interseções.
uma captura de ecrã de 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!

Macro VBA para extrair valores presentes nas três colunas

Se preferir uma abordagem automatizada que não exija introduzir ou copiar fórmulas complexas, pode utilizar o VBA do Excel para percorrer os seus dados e apresentar apenas os valores presentes nas três colunas. Este método revela-se especialmente útil com conjuntos de dados muito grandes ou intervalos dinâmicos, já que o VBA lida de forma mais eficiente com tarefas repetitivas e critérios personalizados.

1. Clique em Programador > Visual Basicpara abrir o editor do VBA (se o separador)Programador não estiver visível, pode ativá-lo através de Ficheiro > Opções > Personalizar Friso).

2. No editor do VBA, clique em Inserir > Módulo para criar um novo módulo. Em seguida, cole o código abaixo na janela do módulo:

Sub FindCommonValuesThreeColumns()
    Dim dict1 As Object
    Dim dict2 As Object
    Dim dict3 As Object
    Dim resultDict As Object
    Dim rngA As Range
    Dim rngB As Range
    Dim rngC As Range
    Dim cell As Range
    Dim outputRow As Long
    Dim key As Variant
    
    On Error Resume Next
    
    Set dict1 = CreateObject("Scripting.Dictionary")
    Set dict2 = CreateObject("Scripting.Dictionary")
    Set dict3 = CreateObject("Scripting.Dictionary")
    Set resultDict = CreateObject("Scripting.Dictionary")

    ' Prompt the user to select the three column ranges
    Set rngA = Application.InputBox("Select the first column range", "KutoolsforExcel", Selection.Address, Type:=8)
    Set rngB = Application.InputBox("Select the second column range", "KutoolsforExcel", Selection.Address, Type:=8)
    Set rngC = Application.InputBox("Select the third column range", "KutoolsforExcel", Selection.Address, Type:=8)

    ' Store all unique values from each column into corresponding dictionaries
    For Each cell In rngA
        If Not dict1.exists(cell.Value) And cell.Value <> "" Then
            dict1.Add cell.Value, 1
        End If
    Next

    For Each cell In rngB
        If Not dict2.exists(cell.Value) And cell.Value <> "" Then
            dict2.Add cell.Value, 1
        End If
    Next

    For Each cell In rngC
        If Not dict3.exists(cell.Value) And cell.Value <> "" Then
            dict3.Add cell.Value, 1
        End If
    Next

    ' Check which values exist in all three dictionaries
    For Each key In dict1.keys
        If dict2.exists(key) And dict3.exists(key) Then
            resultDict.Add key, 1
        End If
    Next

    ' Output result to next empty column on the active sheet
    outputRow = 1
    For Each key In resultDict.keys
        Cells(outputRow, Columns.Count).End(xlToLeft).Offset(0, 1).Value = key
        outputRow = outputRow + 1
    Next

    MsgBox "Common values extracted next to your data.", vbInformation, "KutoolsforExcel"
End Sub

3. Na janela do VBA, com o módulo selecionado, prima F5 ou clique no botão Executar (▶) para executar o código. Ser-lhe-á solicitado, sequencialmente, que selecione cada um dos três intervalos de colunas que pretende comparar. Utilize o rato para destacar as células apropriadas em cada pedido.

4. A macro processará as suas seleções e apresentará todos os valores das três colunas na próxima coluna vazia à direita do seu conjunto de dados atual, começando na primeira linha.

Este método revela-se altamente eficiente ao lidar com conjuntos de dados grandes ou dinâmicos e pode ser facilmente expandido para quatro ou mais colunas, bastando duplicar a lógica do dicionário. Lembre-se sempre de guardar a sua pasta de trabalho antes de executar macros, pois as alterações não guardadas não poderão ser anuladas caso pretenda reverter.

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