如何在excel中列出五列值的所有可能组合?

wecizke3  于 2023-02-17  发布在  其他
关注(0)|答案(2)|浏览(289)

有一个问题和答案已经在那里,“如何列出所有可能的组合的值在三列excel?”这个公式的工作方式正是我想要的,但我需要添加两个额外的列,但我不能完全理解当前的公式添加额外的两个新的列到列表中。
当前公式适用于3列。需要更新以包括5. =IFERROR(INDEX($A:$A,IF(INT((ROW(1:1)-1)/(((COUNTA(B:B)-1)*((COUNTA(C:C)-1)))))+2>COUNTA(A:A),-1,INT((ROW(1:1)-1)/(((COUNTA(B:B)-1)*((COUNTA(C:C)-1)))))+2))&" "&INDEX(B:B,MOD(INT((ROW(1:1)-1)/(COUNTA(C:C)-1)),(COUNTA(B:B)-1))+2)&" "&INDEX(C:C,MOD((ROW(1:1)-1),(COUNTA(C:C)-1))+2),"")
此外,如果有一种方法来解释如何添加一个额外的或减去一列,这将是指数级的好处以及。

Site    Product Type    Labor Hours Machine Hours   Batch Size      
MAR UV  2   2   100     MAR UV 2
BEL SOLVENT 5   5   300     MAR UV 5
    WATER   8   8   750     MAR UV 8
        13  13  1750        MAR UV 13
        18  18  3750        MAR UV 18
                5000        MAR SOLVENT 2
                        MAR SOLVENT 5
                        MAR SOLVENT 8
                        MAR SOLVENT 13
                        MAR SOLVENT 18
                        MAR WATER 2
                        MAR WATER 5
                        MAR WATER 8
                        MAR WATER 13
                        MAR WATER 18
                        BEL UV 2
                        BEL UV 5
                        BEL UV 8
                        BEL UV 13
                        BEL UV 18
                        BEL SOLVENT 2
                        BEL SOLVENT 5
                        BEL SOLVENT 8
                        BEL SOLVENT 13
                        BEL SOLVENT 18
                        BEL WATER 2
                        BEL WATER 5
                        BEL WATER 8
                        BEL WATER 13
                        BEL WATER 18

这是我现在看到的基于当前公式的结果。它只包括前3列。我还需要它包括后面的2列。我也喜欢这个公式,因为它不关心每列中会有多少额外的行,这些行将来可能会发生巨大变化。
下面是公式How to list all possible combinations of the values in three columns in excel?中只有3列的原始问题

u0njafvf

u0njafvf1#

这里有一个方法可以做到这一点 * 没有 * 一个公式:
1.为列创建数据透视表。
1.在数据透视表的“行”字段中按顺序设置列。
1.将布局更改为“表格形式”和“重复项目标签”
1.删除所有总计和小计
1.在过滤器中,取消勾选(blank)

  • 更改字段以具有以下设置:
  • 在手动筛选器中包含新项目
  • 显示没有数据的项目

这将自动为您提供所有项目。如果要向列表中添加项目,只需右键单击数据透视表并刷新即可。

wrrgggsh

wrrgggsh2#

我只回答这部分:
一种解释如何加一列或减一列的方法
根据前3列“地点-产品-类型”,每列中有“2-3-5”项。将原始公式分为3行:

=IFERROR( INDEX($A:$A,IF(INT((ROW(1:1)-1)/(((COUNTA(B:B)-1)*((COUNTA(C:C)-1)))))+2>COUNTA(A:A),-1,INT((ROW(1:1)-1)/(((COUNTA(B:B)-1)*((COUNTA(C:C)-1)))))+2))

&" "& INDEX(B:B,MOD(INT((ROW(1:1)-1)/(COUNTA(C:C)-1)),(COUNTA(B:B)-1))+2)

&" "& INDEX(C:C,MOD((ROW(1:1)-1),(COUNTA(C:C)-1))+2),"")

因此,每个“研究中心”项目需要重复3 * 5次(15次-例如MAR和BEL)。[第1行]
对于每个“地点”项目,每个“产品”项目需要重复5次(例如UV、溶剂、水)[第2行]
对于每个“产品”项目,每个“类型”项目需要重复1次(例如,2、5、8、13、18)[第3行]
因此输出总数= 235 = 30。[此部分由iferror(... , "")公式执行(30(或325)行后无输出)]
在引用的公式中..它是通过关联行号(作为计数器,使用row())、counta()(计算每列中元素的数量)、mod()(获得重复)和index()(调用每个列项目,取决于处理的行号-更多信息:此X1 E0 F1 X中最后公式)。
将其分为5列,“地点-产品-类型-人工-小时”:
获取每列的元素/项目数。(您应该得到2-3-5-5-6)
所以总产量= 23556 = 900。
每个“研究中心”项目需要重复3556次
对于每个“研究中心”项目,每个“产品”项目需要重复5
56次
对于每个“产品”项,每个“类型”项需要重复5
6次
对于每个“类型”项,每个“人工”项需要重复6次
对于每个“人工”项目,每个“小时”项目需要重复一次
如果你删除了一列..就用同样的模式。
我希望你明白其中的逻辑。

相关问题