Gerar combinações no Excel

4

Eu tenho uma linha de entrada que contém as células:

  • 30
  • 30
  • 30
  • 50
  • 50
  • 60
  • 100

Eu quero gerar todas as possíveis combinações de tamanho 3 deste conjunto. Então, eu gostaria que as linhas contivessem 3 células preenchidas e os elementos de cada linha contivessem um conjunto exclusivo independente da ordem. Em outras palavras, eu não teria 50, 30, 50 e 30, 50, 50.

Eu fiz isso manualmente, isso pode não ser perfeito, mas acredito que minha saída deve ser:

  • 30, 30, 30
  • 30, 30, 50
  • 30, 30, 60
  • 30, 30, 100
  • 30, 50, 50
  • 30, 50, 60
  • 30, 50, 100
  • 30, 60, 100
  • 50, 50, 60
  • 50, 50, 100
  • 50, 60, 100

Eu sei que posso gerá-los com o VBA, mas gostaria de saber: O Excel tem algum comando nativo para gerar essas linhas?

    
por Jonathan Mee 04.02.2016 / 15:25

2 respostas

10

Você pode usar a função CROSSJOIN no Excel (o complemento do PowerPivot necessário para o Excel 2010 e 2013, que pode ser baixado gratuitamente da Microsoft . Detalhes sobre a função CROSSJOIN podem ser encontrados em .

Em suma, configure seus dados base como duas tabelas (duplicadas) table1 & table2 certificando-se de que têm nomes de coluna diferentes e, em seguida, use CROSSJOIN(table1, table2) .

    
por 04.02.2016 / 15:45
4

Se você ainda não viu esse link, pode ser útil. Existem alguns exemplos de fórmulas na parte inferior. link

No entanto, a resposta CROSSJOIN acima é muito mais clara.

    
por 04.02.2016 / 16:47