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

Criar um Crossjoin (todas as combinações) a partir de 2 colunas no Excel — Guia Completo

AutorXiaoyang Data de Modificação
Exemplo de junção cruzada

Ao trabalhar com duas listas no Excel — como nomes de produtos e tamanhos, regiões e representantes comerciais, ou alunos e cursos — poderá precisar de gerar todas as combinações possíveis entre elas. Essa operação é conhecida como *crossjoin* (também designada por produto cartesiano). Este tutorial oferece instruções passo a passo, vantagens e desvantagens de cada abordagem, e exemplos práticos, para que possa escolher o método mais adequado ao seu fluxo de trabalho.


O que é um Crossjoin?

Um Crossjoin (também conhecido como produto cartesiano) é uma operação que gera todas as combinações possíveis entre duas listas. No Excel, isso significa emparelhar cada item da Lista A com todos os itens da Lista B, criando uma matriz completa de combinações.

Os Crossjoins são extremamente úteis em muitos cenários reais de dados, tais como:

Variações de produtos
Combine cores × tamanhos × estilos e crie um catálogo completo de produtos.

Análise de vendas
Crie combinações entre regiões, representantes comerciais e trimestres.

Agendamento e planeamento
Gestione todas as combinações possíveis entre colaboradores × turnos ou alunos × cursos.

Testes e simulações
Crie combinações de cenários para modelação, previsão ou validação.

Exemplo:

Se tiver:
origem de dados

O resultado do Crossjoin será:
resultado da junção cruzada


Realizar um Crossjoin no Excel

O Excel oferece várias formas de criar um crossjoin, e o método ideal depende da versão do Excel que utiliza, do seu grau de familiaridade com fórmulas ou ferramentas e do tamanho do seu conjunto de dados. Abaixo apresentamos quatro métodos práticos e eficientes — desde fórmulas simples até soluções mais avançadas, como Power Query e VBA. Cada abordagem tem as suas vantagens, permitindo-lhe escolher a que melhor se adapta ao seu fluxo de trabalho, à dimensão dos seus dados e às suas necessidades de automação.

Método 1: Cross Join utilizando uma fórmula (Excel 365)

1.Prepare os seus dados. Coloque a sua primeira lista numa coluna (por exemplo, A2:A5 para Produtos) e a segunda lista noutra coluna (por exemplo, C2:C5 para Cores).
preparar os dados

2. Introduza a seguinte fórmula numa célula vazia onde deseja obter o resultado e, em seguida, prima a tecla Enter. A fórmula será preenchida automaticamente e devolverá todas as combinações geradas de uma só vez. Veja a captura de ecrã:

=TEXTSPLIT(TEXTJOIN(",", TRUE, A2:A5 & "|" & TRANSPOSE(C2:C5)), "|", ",")
obter a junção cruzada utilizando uma fórmula

Explicação desta fórmula:

  • A2:A5 & «|» & TRANSPOSE(C2:C5): Combina cada valor da coluna A com todos os valores da coluna C.
  • TEXTJOIN(",", TRUE, …): Junta todos os pares numa única cadeia de texto longa, separada por vírgulas.
  • TEXTSPLIT(…, «|», ","): Divide novamente o texto numa tabela com duas colunas.

Em resumo, a fórmula cria pares A|C, junta-os numa única cadeia de texto e, em seguida, divide-os novamente numa tabela estruturada de duas colunas — gerando efetivamente todas as combinações possíveis.

Dicas:

Além da fórmula apresentada anteriormente, pode utilizar a seguinte para obter o mesmo resultado.

=LET(a,A2:A5,b,C2:C5,
MAKEARRAY(ROWS(a)*ROWS(b),2,
 LAMBDA(r,c,
  IF(c=1, INDEX(a, 1+INT((r-1)/ROWS(b))), INDEX(b, 1+MOD(r-1, ROWS(b))))
 )
))

Vantagens

  • Totalmente dinâmico
  • Sem colunas auxiliares
  • Atualiza-se automaticamente quando as listas de origem mudam

Desvantagens

  • Requer Excel 365
  • A fórmula parece complexa para principiantes

✨ Listar todas as combinações — Gere todas as possibilidades com um só clique!

Cansado de escrever fórmulas complexas para obter todas as combinações possíveis? Com o Kutools para Excel, pode listar instantaneamente todas as combinações de várias colunas ou valores — sem fórmulas, sem Power Query, apenas alguns cliques!

✅ Combine cores, tamanhos ou opções de produto em segundos
✅ Suporta múltiplas colunas e formatos de saída flexíveis
✅ Ideal para listagens de produtos, planeamento de cenários e testes
✅ Simples, rápido e 100 % sem fórmulas

listar todas as combinações com o Kutools


Método 2: Cross Join utilizando o Power Query

O Power Query oferece uma abordagem clara e sem código, compatível com todas as versões modernas do Excel. Permite-lhe criar um cross join de forma rápida e intuitiva, sem precisar escrever uma única fórmula. Siga as instruções passo a passo abaixo.

Passo 1: Criar tabelas para cada conjunto de dados das colunas

1. Selecione a primeira lista de dados, clique em Inserir > Tabela, na caixa de diálogo Criar Tabela, clique em OK. Obterá a primeira tabela.
criar uma tabela para os dados da primeira coluna

2. No separador Estrutura da Tabela, renomeie a tabela com um nome significativo para facilitar a sua referência posterior.
atribuir um nome à tabela

3. Repita os mesmos passos para converter outra coluna de dados numa tabela e atribua-lhe um nome.
criar uma tabela para os dados da segunda coluna e alterar o respetivo nome

Passo 2: Importar as Tabelas e Carregar como Ligações

1.Selecione a primeira tabela e clique em Dados>A partir de Tabela/Intervalo, veja a captura de ecrã:
clicar em Dados > A partir de Tabela/Intervalo

2. Na janela do Editor do Power Query aberta, clique em Fechar e Carregar > Fechar e Carregar no separador Base.
clicar no comando Fechar e Carregar

3. Aparecerá uma caixa de diálogo Importar Dados. Selecione a opção Apenas Criar Ligação e clique em OK.
selecionar a opção Apenas Criar Ligação

4. O painel Consultas e Ligações aparecerá à direita, mostrando que uma consulta foi adicionada apenas como ligação.
painel Consultas e Ligações para mostrar a primeira ligação

5. Repita os mesmos passos para carregar a segunda tabela como uma consulta apenas com ligação, e verá que esta surge listada ao lado da primeira no painel Consultas e Ligações.
adicionar a segunda tabela à ligação

Passo 3: Criar uma Consulta de Referência e uma Coluna Personalizada

1.Clique com o botão direito do rato na consulta que pretende utilizar como primeira tabela na junção cruzada e selecione Referência.
selecionar Referência

2.Na janela do Editor do Power Query, aceda ao separador Adicionar Colunae clique em Coluna Personalizada, veja a captura de ecrã:
clicar em Coluna Personalizada

3. Na caixa de diálogo Coluna Personalizada, na caixa Fórmula da Coluna Personalizada, digite o nome da outra tabela que pretende utilizar na junção cruzada e, em seguida, clique no botão OK.
introduzir uma fórmula

Nota:
Se o nome da sua consulta contiver espaços (por exemplo, Cor do Produto), deverá colocá-lo entre aspas utilizando a sintaxe #«Nome da Consulta» na caixa da fórmula da Coluna Personalizada. Por exemplo, para Cor do Produto, escreva #«Cor do Produto».

4. Aparecerá uma nova coluna personalizada; clique no botão Expandir para revelar o seu conteúdo.
clicar no botão Expandir para revelar o seu conteúdo

5. No painel expandido, certifique-se de que o nome da coluna que pretende juntar está selecionado. Em seguida, clique em OK.
certificar-se de que o nome da coluna que pretende associar está selecionado

6.Agora, verá todas as combinações geradas a partir das duas tabelas.
todas as combinações geradas a partir das duas tabelas

Passo 4: Carregar os dados para a folha de cálculo

Aceda ao separador Base, clique em Fechar e Carregar > Fechar e Carregar. A tabela com todas as combinações será carregada numa nova folha de cálculo.
A tabela com todas as combinações será carregada numa nova folha de cálculoA tabela com todas as combinações será carregada numa nova folha de cálculo

Vantagens

  • Lida com Dados Grandes: Excelente desempenho mesmo com milhares de linhas.
  • Reutilizável e Atualizável: ao adicionar mais dados ao intervalo de origem, basta atualizar a consulta para que os resultados sejam automaticamente atualizados.

Desvantagens

  • Poucos passos adicionais
  • Requer conhecimentos básicos do Power Query

Método 3: Cross Join utilizando o Tabela Dinâmica

Este método é indireto, mas pode revelar-se surpreendentemente eficaz quando precisa de gerar todas as combinações sem escrever uma única fórmula. É especialmente útil para utilizadores que preferem uma abordagem mais visual e baseada em cliques, ou para quem trabalha em versões do Excel que não suportam fórmulas de matrizes dinâmicas.

1. Crie duas tabelas separadas para as listas de dados e dê-lhes nomes seguindo os mesmos passos descritos no Passo 1 do Método 2.

2. Selecione a tabela que pretende utilizar como primeira coluna. Em seguida, aceda ao separador Inserir e clique em Tabela Dinâmica. Veja a captura de ecrã:
clicar para inserir uma Tabela Dinâmica

3. Na caixa de diálogo Tabela Dinâmica a partir de tabela ou intervalo, selecione Planilha existente, escolha a localização da Tabela Dinâmica, assinale Adicionar estes dados ao Modelo de Dados e, em seguida, clique em OK.
escolher a localização para a Tabela Dinâmica

4. Quando o painel Campos da Tabela Dinâmica aparecer à direita, marque o nome da coluna da tabela e esta será adicionada automaticamente à área Linhas.
marcar o nome da coluna para a adicionar às áreas de linhas

5. Em seguida, mude para o separador Todos no painel Campos da Tabela Dinâmica, selecione a tabela que pretende utilizar como segunda coluna do seu Crossjoin e marque o respetivo nome da coluna para a adicionar à área Linhas. Obterá a Tabela Dinâmica conforme mostrado na captura de ecrã abaixo:
selecionar outra tabela para a adicionar

6. Clique numa célula da Tabela Dinâmica, aceda ao separador Estrutura, selecione Esquema do Relatório > Mostrar em Forma Tabular e obterá a Tabela Dinâmica em formato tabular. Veja a captura de ecrã:
selecionar a opção Mostrar em Formato Tabular

7. Continue clicando em Esquema do Relatório > Repetir Todas as Etiquetas dos Itens para apresentar todos os itens em cada linha.
selecionar Repetir Todas as Etiquetas de Itens para apresentar todos os itens em cada linha

8. Por fim, clique em Totais Gerais > Desativado para Linhas e Colunas.
escolher Desativado para Linhas e Colunas

Agora, a Tabela Dinâmica exibe uma lista clara de todas as combinações, sem linhas ou colunas de resumo.
a Tabela Dinâmica mostra uma lista clara de todas as combinações

Vantagens

  • Não é necessário fórmula nem Power Query
  • Muito fácil e visual
  • Ideal para análises rápidas

Desvantagens

  • Não é dinâmico
  • Requer ações manuais
  • O resultado não está ligado aos dados originais

Método 4: Cross Join utilizando uma Função Definida pelo Utilizador (Excel 365 / Excel 2021 e posterior)

Se precisar frequentemente de gerar todas as combinações possíveis entre duas listas, uma Função Definida pelo Utilizador (UDF) oferece uma solução clara, reutilizável e altamente flexível. Com o Excel 365 ou o Excel 2021, a saída em matriz preenchida torna os resultados totalmente dinâmicos, proporcionando-lhe uma forma poderosa e conveniente de automatizar operações de Cross Join.

1.Prima Alt + F11 para abrir o editor do VBA.

2. Em seguida, clique em Inserir > Módulo e copie e cole o código seguinte no módulo em branco.

Function CrossJoin(list1 As Range, list2 As Range)
    'Updateby Extendoffice
    Dim arr1, arr2, result()
    Dim i As Long, j As Long, r As Long
    arr1 = list1.Value
    arr2 = list2.Value
    ReDim result(1 To UBound(arr1, 1) * UBound(arr2, 1), 1 To 2)
    r = 1
    For i = 1 To UBound(arr1, 1)
        For j = 1 To UBound(arr2, 1)
            result(r, 1) = arr1(i, 1)
            result(r, 2) = arr2(j, 1)
            r = r + 1
        Next j
    Next i
    CrossJoin = result
End Function

3. Regresse à folha de cálculo do Excel, introduza a fórmula abaixo e prima Enter. O Excel irá preencher automaticamente todas as combinações.

=CrossJoin(A2:A5, C2:C5)

obter a junção cruzada com código VBA


Conclusão

Em resumo, realizar um Crossjoin no Excel oferece múltiplas soluções flexíveis e eficientes, permitindo-lhe escolher o método mais adequado às suas necessidades específicas e ao seu ambiente de trabalho:

  • A fórmula utiliza fórmulas de matrizes dinâmicas no Excel 365 para gerar resultados rapidamente, sem necessidade de programação — ideal para utilizadores ocasionais que preferem soluções com fórmulas nativas.
  • O Power Query oferece um processo claro e reutilizável, capaz de lidar com grandes conjuntos de dados, tornando-o a escolha ideal para limpeza de dados e relatórios automatizados.
  • O método Tabela Dinâmica pode ser menos direto, mas revela-se altamente eficaz e intuitivo para quem já tem alguma familiaridade.
  • A Função Definida pelo Utilizador em VBA proporciona o mais alto nível de personalização e é ideal para cenários que exijam integração em código macro complexo.

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