有一个问题和答案已经在那里,“如何列出所有可能的组合的值在三列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列的原始问题
2条答案
按热度按时间u0njafvf1#
这里有一个方法可以做到这一点 * 没有 * 一个公式:
1.为列创建数据透视表。
1.在数据透视表的“行”字段中按顺序设置列。
1.将布局更改为“表格形式”和“重复项目标签”
1.删除所有总计和小计
1.在过滤器中,取消勾选
(blank)
这将自动为您提供所有项目。如果要向列表中添加项目,只需右键单击数据透视表并刷新即可。
wrrgggsh2#
我只回答这部分:
一种解释如何加一列或减一列的方法
根据前3列“地点-产品-类型”,每列中有“2-3-5”项。将原始公式分为3行:
因此,每个“研究中心”项目需要重复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次
对于每个“研究中心”项目,每个“产品”项目需要重复556次
对于每个“产品”项,每个“类型”项需要重复56次
对于每个“类型”项,每个“人工”项需要重复6次
对于每个“人工”项目,每个“小时”项目需要重复一次
如果你删除了一列..就用同样的模式。
我希望你明白其中的逻辑。