VBA提出了两列数据的所有组合

时间:2017-01-13 16:14:48

标签: excel-vba vba excel

我有两列数据(A列,B列),我想在C和D列中列出这些数据的所有组合。如果列A在列表中有5个数字而列B在列表中有3个数字,那么我应该在列C和列D中列出15个组合。这只是一个例子,列A和B中的数据长度动态变化。

我对VBA很陌生,所以我们将非常感谢一步一步的指导。

visual of question above

1 个答案:

答案 0 :(得分:1)

这不是必需的。

C1 中输入:

=INDEX(A:A,ROUNDUP(ROW()/COUNT(B:B),0))

并复制下来。在 D1 中输入:

=INDEX(B:B,MOD(ROW()-1,COUNT(B:B))+1)

并复制下来。

enter image description here

您可以在任一列表中添加或删除项目。您可以在任一列表中使用数字或文本值。

修改#1

要删除列 C D 底部不必要的零,请在 C1 中使用:

 =IF(ROW()>COUNT(A:A)*COUNT(B:B),"",INDEX(A:A,ROUNDUP(ROW()/COUNT(B:B),0)))
在复制之前

并在 D1 中使用:

=IF(ROW()>COUNT(A:A)*COUNT(B:B),"",INDEX(B:B,MOD(ROW()-1,COUNT(B:B))+1))

这是基于知道只有 Na X Nb 组合。