寻求一些问题的帮助。我在 Excel 中有一个包含两个方向的变量的数组,以及与每个变量组合交叉处的数量相对应的单元格。例如输入:
第 1 项 | 第 2 项 | |
---|---|---|
配置 1 | 1 | 2 |
配置 2 | 3 | 4 |
我想生成每个变量组合的列表,并按每个组合的数量重复。例如输出:
项目 1 配置 1 |
项目 1 配置 2 |
项目 1 配置 2 |
项目 1 配置 2 |
项目 2 配置 1 |
项目 2 配置 1 |
项目 2 配置 2 |
项目 2 配置 2 |
项目 2 配置 2 |
项目 2 配置 2 |
我已经生成了部分输出列的前半部分(我有一个重复了 4 次的“项目 1”列表)这个网站上的教程,但我不知道如何获取其余部分。此外,我在 SU 上找到的所有答案都同样只涉及单个列中的重复值——我希望重复数组中的值。
顺序无关紧要,因为这最终会在稍后被打乱。我从未使用过 VBA 或数据透视表或 Power Query,因此如果此解决方案需要任何这些工具,那么我将需要大量的指导,但无论如何,任何帮助都会受到感谢。谢谢!
附加问题: 假设原始数组中有数量 0 或字母(即 'X')或者可能为 'N/A' 表示数量 0:
第 1 项 | 第 2 项 | |
---|---|---|
配置 1 | 1 | X |
配置 2 | 3 | 4 |
我想将它从列表中完全排除。直觉上,我推测其中某处会有一个“if”语句,但我必须等待并查看原始解决方案是什么样子,然后再将其添加到其中。
答案1
对于 O365 Beta 频道:
=LET(ζ,A1:C3,α,DROP(TAKE(ζ,1),,1),β,DROP(TAKE(ζ,,1),1),γ,DROP(ζ,1,1),TEXTSPLIT(CONCAT(TRANSPOSE(REPT(α&" "&β&"|",γ))),,"|",1))
根据需要修改此处引用的范围A1:C3
,注意它应该包括物品行和配置柱子。
数组中任何零数量都将从返回列表中排除。
所有O365用户的替代方案:
=INDEX(FILTERXML("<a><b>"&CONCAT(TRANSPOSE(REPT(B1:C1&" "&A2:A3&"</b><b>",B2:C3)))&"</b></a>","//b"),SEQUENCE(SUM(B2:C3)))