将一列中的每个值添加到Google表格第二列中的每个值

时间:2015-03-13 14:55:39

标签: google-sheets multiple-columns array-formulas

希望将一列中的每个值添加到第二列中的每个值以创建复合数组。我想我可以使用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()的脚本,但更喜欢公式。

谢谢!

1 个答案:

答案 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行。显然可以根据您为每列指定的范围调整行数。这将获取每列中的值,将它们组合成一个重复和连接/分割或连接的数组,然后重复和分割......以创建正确的组合。一个自动扩展并且无需编写脚本即可灵活使用的公式。如果有的话,请分享一个更好的方法来做到这一点。