多组项目的Excel组合

我正在寻找一种简单的方法来列出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 

sorting并不重要。

有没有任何预定义的function?

将这些项目放在前三列中的工作表中
ABC 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<>"", F1 & ", " & G1& ", " & H1, "")