【问题标题】:Excel combinations of multiple sets of items多组项目的Excel组合
【发布时间】:2015-03-11 02:42:51
【问题描述】:

我正在寻找一种简单的方法来列出 Excel 中三组项目的所有可能组合。

例如,取以下三组项,每项在自己的单元格中:

(meals) pizza, pasta, lasagne    
(drinks) wine, beer, water    
(dessert) ice, fruits

现在我想列出所有可能的组合,每个组合都在自己的行中

pizza, wine, ice
pasta, wine, ice
lasagne, wine, ice
pizza, wine, fruits
...
lasagne, water, fruits

排序无关紧要。

是否有任何预定义的功能?

【问题讨论】:

  • 我相信你需要为此编写一些 VBA。
  • 尝试Creating an Excel Matrix 进行一些带有膳食计划的递归循环。

标签: excel combinations permutation


【解决方案1】:

将项目放在工作表的前三列中,如下所示
A B C pizza wine ice pasta beer fruits lasagne water

然后,您可以使用以下公式获得 F、G、H 中的组合。

F1:
=IF(ROW()-ROW($F$1)+1<=COUNTA(A:A)*COUNTA(B:B)*COUNTA(C:C), INDEX(A:A,INT((ROW()-ROW($F$1))/(COUNTA(B:B)*COUNTA(C:C))+1)), "")

G1:
=IF(ROW()-ROW($F$1)+1<=COUNTA(A:A)*COUNTA(B:B)*COUNTA(C:C), INDEX(B:B,MOD(ROW()-ROW($F$1),COUNTA(B:B))+1), "")

H1:
=IF(ROW()-ROW($F$1)+1<=COUNTA(A:A)*COUNTA(B:B)*COUNTA(C:C), INDEX(C:C,MOD(ROW()-ROW($F$1),COUNTA(C:C))+1), "")

下拉单元格直到值为空。那么您可能希望将结果与=IF(F1&lt;&gt;"", F1 &amp; ", " &amp; G1&amp; ", " &amp; H1, "") 合并到第一列

【讨论】:

    猜你喜欢
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多