希望将一列中的每个值添加到第二列中的每个值以创建复合数组。我想我可以使用ARRAYFORMULA,但不是那么容易,它出现了。我希望结果列像ARRAYFORMULA一样自动展开,因为行数可以改变,并且在Col 1和Col 2之间不相等:
Col 1 | Col 2 | Result
------+-------+-------
10 | 1 | 11
------+-------+-------
20 | 2 | 12
------+-------+-------
30 | 3 | 13
------+-------+-------
40 | | 21
------+-------+-------
50 | | 22
------+-------+-------
| | 23
------+-------+-------
| | 31
------+-------+-------
| | 32
------+-------+-------
| | 33
------+-------+-------
etc...
当指标值发生变化时,我可以编写一个创建此ONEDIT()的脚本,但更喜欢公式。
谢谢!
答案 0 :(得分:0)
最后,经过一段时间的闲逛之后,我想通了。也许这会帮助别人或刺激某人找到比这更优雅的答案。在Google表格中,将此公式放在顶部单元格(示例表格中的C2)中,其余值将自动展开并正确添加:
= ARRAYFORMULA(ARRAYFORMULA(移调(SPLIT(REPT(JOIN("",$ A1:$ A10),COUNT($ B1:B10 $)),#34;&# 34)))+ ARRAYFORMULA(移调(ARRAYFORMULA(SPLIT(JOIN(""(REPT(""&安培; $ B1:$ B10,COUNT($ A1 :$ A10)))),"")))))
这假设每列最多可以有9行。显然可以根据您为每列指定的范围调整行数。这将获取每列中的值,将它们组合成一个重复和连接/分割或连接的数组,然后重复和分割......以创建正确的组合。一个自动扩展并且无需编写脚本即可灵活使用的公式。如果有的话,请分享一个更好的方法来做到这一点。