Como listar ou gerar todas as combinações possíveis no Excel?

Ao trabalhar com dados no Excel, você pode encontrar situações em que precisa gerar todas as combinações possíveis a partir de várias listas. Por exemplo, se você tiver duas ou mais colunas de valores, listar manualmente cada combinação pode ser tedioso e propenso a erros, especialmente à medida que o número de valores aumenta. Neste guia, exploraremos diferentes técnicas para listar ou gerar rapidamente todas as combinações possíveis no Excel.
Listar ou gerar todas as combinações possíveis de duas listas com fórmula
Listar ou gerar todas as combinações possíveis de três ou mais listas com código VBA
Listar ou gerar todas as combinações possíveis de várias listas com Kutools para Excel
Listar ou gerar todas as combinações possíveis de duas listas com fórmula
A seguinte fórmula longa pode ajudá-lo a listar todas as combinações possíveis dos valores de duas listas rapidamente; siga os passos abaixo:
1. Insira ou copie a fórmula abaixo em uma célula em branco; neste caso, vou inseri-la na célula D2 e, em seguida, pressione a tecla "Enter" para obter o resultado, veja a captura de tela:
=IF(ROW()-ROW($D$2)+1>COUNTA($A$2:$A$5)*COUNTA($B$2:$B$4),"",INDEX($A$2:$A$5,INT((ROW()-ROW($D$2))/COUNTA($B$2:$B$4)+1))&"-"&INDEX($B$2:$B$4,MOD(ROW()-ROW($D$2),COUNTA($B$2:$B$4))+1))
2. Em seguida, selecione a célula D2 e arraste a alça de preenchimento para baixo até que apareçam células em branco. Todas as combinações possíveis serão listadas com base nas duas listas de valores. Veja a captura de tela:
Listar ou gerar todas as combinações possíveis de três ou mais listas com código VBA
Se a fórmula acima parecer difícil de aplicar, especialmente com várias colunas de dados, modificá-la pode ser desafiador. Nesses casos, um código VBA oferece uma solução mais rápida e flexível.
1. Mantenha pressionadas as teclas "ALT + F11" para abrir a janela "Microsoft Visual Basic for Applications".
2. Clique em "Inserir" > "Módulo" e cole o seguinte código na janela "Módulo".
Código VBA: Gerar todas as combinações de 3 ou múltiplas colunas
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A5") 'First column data
Set xDRg2 = Range("B2:B4") 'Second column data
Set xDRg3 = Range("C2:C4") 'Third column data
xStr = "-" 'Separator
Set xRg = Range("E2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
3. Em seguida, pressione a tecla "F5" para executar este código, e todas as combinações das 3 colunas serão geradas de uma vez, veja a captura de tela:
Listar ou gerar todas as combinações possíveis de várias listas com Kutools para Excel
Se houver várias listas de valores que precisam ter todas as combinações possíveis listadas, talvez seja difícil para você modificar o código. Aqui, posso recomendar uma ferramenta poderosa - "Kutools para Excel", que contém um recurso prático "Listar Todas as Combinações" que pode listar rapidamente todas as combinações possíveis com base em listas de dados fornecidas.
1. Clique em "Kutools" > "Inserir" > "Listar Todas as Combinações", veja a captura de tela:
2. Na caixa de diálogo "Listar Todas as Combinações", faça as operações conforme mostrado na demonstração abaixo:
3. Em seguida, todos os valores especificados e separadores foram listados na caixa de diálogo, veja a captura de tela:
4. E então clique no botão "Ok", e uma caixa de aviso aparecerá para lembrá-lo de selecionar uma célula para exibir o resultado, veja a captura de tela:
5. Clique em "OK", todas as combinações possíveis com base nas listas fornecidas foram geradas na planilha, como mostra a seguinte captura de tela:
Kutools para Excel - Potencialize o Excel com mais de 300 ferramentas essenciais. Aproveite recursos de IA permanentemente gratuitos! Obtenha Agora
Mais artigos relacionados:
- Gerar Todas as Combinações de 3 ou Múltiplas Colunas
- Suponha que eu tenha 3 colunas de dados, agora quero gerar ou listar todas as combinações dos dados nessas 3 colunas, como mostrado na captura de tela abaixo. Você tem algum bom método para resolver essa tarefa no Excel?
- Encontrar Todas as Combinações Que Igualam uma Soma Dada
- Por exemplo, tenho a seguinte lista de números, e agora quero saber qual combinação de números na lista soma 480, como mostrado na captura de tela a seguir, você pode ver que há cinco grupos de combinações possíveis que somam 480, como 300+60+120, 300+60+40+80, etc. Neste artigo, falarei sobre alguns métodos para encontrar quais células somam um valor específico no Excel.
- Gerar ou Listar Todas as Permutações Possíveis
- Por exemplo, tenho três caracteres XYZ, agora quero listar todas as permutações possíveis com base nesses três caracteres para obter seis resultados diferentes, como: XYZ, XZY, YXZ, YZX, ZXY e ZYX. No Excel, como você poderia gerar ou listar rapidamente todas as permutações com base em diferentes números de caracteres?
- Gerar Uma Lista de Todas as Combinações Possíveis de 4 Dígitos
- Em alguns casos, podemos precisar gerar uma lista de todas as combinações possíveis de 4 dígitos do número 0 a 9, o que significa gerar uma lista de 0000, 0001, 0002…9999. Para resolver rapidamente a tarefa de lista no Excel, apresento alguns truques para você.
Melhores Ferramentas de Produtividade para Office
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!