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

Como procurar e concatenar vários valores correspondentes no Excel?

AutorXiaoyang Data de Modificação

Ao utilizar o VLOOKUP no Excel, a função devolve apenas o primeiro valor correspondente encontrado para um determinado critério de procura. Contudo, em muitos cenários comuns — como listar todos os alunos de uma turma ou todos os produtos de uma categoria — é necessário obter e combinar todos os valores associados a uma mesma chave. Como o VLOOKUP padrão não permite ir além do primeiro resultado, surge naturalmente a pergunta: como realizar uma procura que concatene múltiplos resultados correspondentes numa única célula? A seguir, exploramos métodos práticos e eficientes para alcançar este objetivo, adaptados a diferentes versões do Excel e às preferências dos utilizadores.


Procurar e concatenar vários valores correspondentes com as funções TEXTJOIN e FILTER

Se estiver a utilizar o Excel 365 ou o Excel 2021, a combinação das funções TEXTJOIN e FILTER proporciona uma solução eficiente, baseada em fórmulas, para localizar e concatenar todos os valores correspondentes. Esta abordagem é ideal para conjuntos de dados dinâmicos e em constante atualização, já que reflete automaticamente as alterações sempre que os Dados de Origem forem modificados. É particularmente recomendada quando a sua versão do Excel inclui suporte à função FILTER, disponível exclusivamente nas versões mais recentes do Office.

Na célula de destino, introduza a seguinte fórmula e arraste-a para baixo se quiser aplicá-la a outras linhas. Todos os valores correspondentes são extraídos e combinados numa única célula. Veja a imagem:

=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$16, $A$2:$A$16=D2, ""))

procurar e concatenar vários valores com as funções TEXTJOIN e FILTRAR

Explicação desta fórmula:
  1. FILTER($B$2:$B$16, $A$2:$A$16=D2, «»)Esta parte da fórmula verifica cada valor no intervalo $A$2:$A$16 e, se corresponder ao valor em D2, inclui o valor correspondente de $B$2:$B$16 na matriz de resultados.
    • $B$2:$B$16O intervalo a partir do qual serão obtidos os valores correspondentes.
    • $A$2:$A$16=D2A condição segundo a qual os valores são selecionados — apenas as linhas em que $A$2:$A$16 for igual ao conteúdo de D2 serão processadas.
  2. TEXTJOIN(", ", TRUE, ...): Esta função recebe o resultado da função FILTER (uma matriz de correspondências) e concatena-os numa única cadeia de texto, separada pelo delimitador especificado (vírgula e espaço), ignorando automaticamente entradas vazias.
    • ",": Define a vírgula e o espaço como separador; pode alterar este símbolo conforme necessário, por exemplo, utilizar ponto e vírgula ou quebras de linha.
    • TRUE: Garante que as células vazias sejam ignoradas no processo de combinação, obtendo assim um resultado formatado de forma limpa.

Nota especial: Este método exige Excel 365 ou 2021 e não é compatível com versões anteriores (por exemplo, Excel 2019, 2016 ou anteriores). Verifique sempre a sua versão do Excel antes de aplicar.

Dica: Se o valor que está a procurar (por exemplo, D2) mudar ou forem adicionados novos itens ao Intervalo de Dados que correspondam à sua pesquisa, o resultado é atualizado automaticamente — sem necessidade de qualquer passo adicional.

Limitações potenciais: Em conjuntos de dados muito grandes, o tempo de cálculo da fórmula pode aumentar. Além disso, os utilizadores devem garantir que não existem células mescladas nos intervalos de procura ou de resultados, pois estas podem causar erros na fórmula.


Procurar e concatenar vários valores correspondentes com o Kutools para Excel

Se acha os métodos com fórmulas incorporadas complicados ou se a sua versão do Excel não suportar funções avançadas como TEXTJOIN e FILTER, o Kutools para Excel oferece uma solução gráfica intuitiva. A funcionalidade Pesquisa um-para-muitos do Kutools permite-lhe encontrar e concatenar múltiplos resultados correspondentes em apenas alguns passos, sendo ideal tanto para principiantes como para utilizadores avançados. Com o Kutools, não precisa de escrever fórmulas ou códigos complexos — uma vantagem especialmente útil ao trabalhar com conjuntos de dados grandes ou variáveis que exijam procuras e agregações repetidas.

Kutools para Exceloferece mais de 300 funcionalidades avançadas para simplificar tarefas complexas, potenciando a criatividade e a eficiência.Integrado com capacidades de IA, o Kutools automatiza tarefas com precisão, tornando a gestão de dados descomplicada.Informações detalhadas de Kutools para Excel...         Teste gratuito...

Após instalar o Kutools para Excel, siga os passos abaixo:

Clique em Kutools > Super PROC > Pesquisa um-para-muitos (retornar vários resultados) para abrir a caixa de diálogo de configuração. Nesta caixa de diálogo, pode configurar rapidamente as definições de pesquisa e saída seguindo os passos seguintes:

  1. Selecione as células de saída onde pretende os resultados concatenados e as células que contêm os valores que deseja procurar;
  2. Indique o intervalo da tabela que contém tanto as colunas com as chaves de procura como os resultados;
  3. Especifique qual coluna contém as chaves de procura (Coluna Chave) e qual coluna contém os valores a concatenar (Coluna de retorno);
  4. Clique no botão OK para confirmar as definições e processar os dados.
     especifique as opções na caixa de diálogo

Resultado: O Kutools irá agora apresentar todos os valores correspondentes concatenados na célula de saída selecionada. Veja a imagem:
concatenado com base nos critérios pelo Kutools

Este método é altamente recomendado para quem prefere trabalhar diretamente na interface do Excel, sem recorrer a fórmulas ou códigos complexos. Reduz ainda a probabilidade de erros nas fórmulas e potencia a produtividade ao lidar com tarefas repetitivas de procura e concatenação.


Procurar e concatenar vários valores correspondentes com Função Definida pelo Utilizador

Para utilizadores proficientes em VBA (Visual Basic for Applications) ou para quem utiliza versões mais antigas do Excel, que não suportam matrizes dinâmicas nem a função FILTRAR, é possível criar uma Função Definida pelo Utilizador (UDF) personalizada para obter uma concatenação flexível de múltiplos resultados. Este método é compatível com todas as versões do Excel e pode ser facilmente adaptado a separadores ou condições específicas.

1. Mantenha premidas 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.

Código VBA: Procurar e concatenar vários valores correspondentes numa célula

Function ConcatenateMatches(LookupValue As String, LookupRange As Range, ReturnRange As Range, Optional Delimiter As String = ", ") As String
'Updateby Extendoffice
    Dim Cell As Range
    Dim Result As String
    Result = ""
    For Each Cell In LookupRange
        If Cell.Value = LookupValue Then
            Result = Result & Cell.Offset(0, ReturnRange.Column - LookupRange.Column).Value & Delimiter
        End If
    Next Cell
    If Result <> "" Then
        Result = Left(Result, Len(Result) - Len(Delimiter))
    End If
    ConcatenateMatches = Result
End Function

3. Guarde e feche o editor do VBA. Regresse à sua folha de cálculo e utilize esta UDF introduzindo a fórmula: =ConcatenateMatches(D2, $A$2:$A$16, $B$2:$B$16) numa célula vazia onde pretende obter o resultado. Arraste a alça de preenchimento para baixo para aplicar a fórmula a outras células, conforme necessário. Todos os valores correspondentes com base num valor específico de procura serão devolvidos e concatenados numa única célula, separados por vírgula e espaço. Veja a imagem:

concatenado com base nos critérios por VBA

Explicação desta fórmula:
  • D2: O valor a procurar e comparar no conjunto de dados (LookupValue).
  • A2:A16: O intervalo onde a função procura o valor de pesquisa (LookupRange).
  • B2:B16: O intervalo que contém os valores a concatenar quando o valor de procura corresponde (ReturnRange).

Procurar e concatenar vários valores correspondentes com código VBA

Para cenários que exijam utilização repetida ou para quem pretenda evitar funções personalizadas nas células da folha de cálculo, pode recorrer a uma macro VBA pronta a usar para concatenar diretamente os resultados. Este método revela-se especialmente eficaz em ambientes partilhados, onde nem todos os utilizadores dispõem da mesma versão do Excel ou dos mesmos extras instalados.

1. Clique em Ferramentas de Programador > Visual Basic para abrir o editor VBA.

2. Na janela do VBA, clique em Inserir > Módulo e cole este código no módulo:

Sub VLookupAndConcatenate()
    Dim ws As Worksheet
    Dim dataRange As Range, lookupRange As Range, resultRange As Range
    Dim dict As Object
    Dim i As Long, lastRow As Long
    Dim lookupValue As Variant, result As String
    Dim delimiter As String
    delimiter = ", "
    Set dict = CreateObject("Scripting.Dictionary")
    Set ws = ActiveSheet
    On Error Resume Next
    Set dataRange = Application.InputBox( _
        Prompt:="Please select the data range (contains lookup column and result column)", _
        Title:="Select Data Range", _
        Type:=8)
    On Error GoTo 0
    If dataRange Is Nothing Then Exit Sub
    On Error Resume Next
    Set lookupRange = Application.InputBox( _
        Prompt:="Please select the lookup range (single column)", _
        Title:="Select Lookup Range", _
        Type:=8)
    On Error GoTo 0
    If lookupRange Is Nothing Then Exit Sub
    On Error Resume Next
    Set resultRange = Application.InputBox( _
        Prompt:="Please select the starting cell for results output", _
        Title:="Select Output Location", _
        Type:=8)
    On Error GoTo 0
    If resultRange Is Nothing Then Exit Sub
    resultRange.Resize(lookupRange.Rows.Count, 1).ClearContents
    For i = 1 To dataRange.Rows.Count
        lookupValue = dataRange.Cells(i, 1).Value
        If Not dict.Exists(lookupValue) Then
            dict.Add lookupValue, dataRange.Cells(i, 2).Value
        Else
            dict(lookupValue) = dict(lookupValue) & delimiter & dataRange.Cells(i, 2).Value
        End If
    Next i
    For i = 1 To lookupRange.Rows.Count
        lookupValue = lookupRange.Cells(i, 1).Value
        If dict.Exists(lookupValue) Then
            resultRange.Cells(i, 1).Value = dict(lookupValue)
        Else
            resultRange.Cells(i, 1).Value = "Not Found"
        End If
    Next i
    MsgBox "Operation completed! Processed " & lookupRange.Rows.Count & " lookup values.", vbInformation
End Sub

3. Clique no botão botão Executarpara executar a macro. Ser-lhe-ão apresentadas caixas de diálogo que o guiarão na seleção do seu Intervalo de Dados, do intervalo de procura e do intervalo de resultados. O resultado concatenado será então exibido diretamente nas células de saída selecionadas.

Esta abordagem com macro é especialmente útil se realizar frequentemente pesquisas de concatenação múltipla com valores diferentes, pois evita sobrecarregar a folha de cálculo com chamadas à UDF.

Pode ajustar facilmente o delimitador no código, se necessário, e expandir a macro para exportar os resultados diretamente para uma célula ou ficheiro, conforme o seu fluxo de trabalho.

É possível concatenar múltiplos valores correspondentes no Excel utilizando várias abordagens, cada uma com benefícios específicos consoante a sua situação. Quer opte por fórmulas de matrizes dinâmicas, complementos como Kutools para Excel ou métodos baseados em VBA, irá melhorar a sua capacidade de analisar e apresentar dados agrupados de forma eficiente. Consoante o tamanho e a complexidade do seu conjunto de dados, considere qual abordagem oferece o melhor desempenho e facilidade de manutenção para si ou para a sua equipa. Nas operações diárias, verifique a consistência dos dados, evite Mesclado e confirme os intervalos de referência para obter os melhores resultados. Se encontrar erros nos cálculos das fórmulas, verifique novamente se os seus intervalos correspondem aos dados e se está a utilizar o método correto de introdução da fórmula para a sua versão do Excel.

Para técnicas mais avançadas no Excel e uma vasta gama de guias práticos passo a passo, visite a nossa extensa biblioteca de tutoriais.

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