我有两列数据(A列,B列),我想在C和D列中列出这些数据的所有组合。如果列A在列表中有5个数字而列B在列表中有3个数字,那么我应该在列C和列D中列出15个组合。这只是一个例子,列A和B中的数据长度动态变化。
我对VBA很陌生,所以我们将非常感谢一步一步的指导。
答案 0 :(得分:1)
这不是必需的。
在 C1 中输入:
=INDEX(A:A,ROUNDUP(ROW()/COUNT(B:B),0))
并复制下来。在 D1 中输入:
=INDEX(B:B,MOD(ROW()-1,COUNT(B:B))+1)
并复制下来。
您可以在任一列表中添加或删除项目。您可以在任一列表中使用数字或文本值。
修改#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 组合。