具有多种数学函数的Google Sheet Arrayformula

时间:2016-05-08 03:15:48

标签: google-sheets array-formulas

我如何为此格式化arrayformula?:

=$D10*(sum($F10:$I10))

我尝试过几种不同的方式,但没有一种方法可行。我有一堆带有该公式的行(当然行号匹配,例如:

=$D10*(sum($F10:$I10))
=$D11*(sum($F11:$I11))
=$D12*(sum($F12:$I12)) etc...

我在每一行都需要这个公式,但是我试图找出一个数组公式,以便在我添加或减去行时它可以工作。

感谢您的帮助!

UPDATE ********************************************** **************************

我刚刚发现=arrayformula(D7:D*(F7:F+G7:G+H7:H+I7:I))有效,但我也可能需要添加和减去列。有没有办法让它与sum()一起使用?

2 个答案:

答案 0 :(得分:1)

我相信MMULT可以是一个很好的选择:

=ArrayFormula(if(len(D2:D), D2:D*mmult(N(F2:I),transpose(column(F2:I2)^0)),))

更改范围以适应。

答案 1 :(得分:0)

解决数学问题的最佳方法是拆分它。

你有两个乘数:D x sum(F:F)

第一项任务是使用D.制作ArrayFormula。这很简单:

=ArraFormula(D10:D1000)

困难的部分是用sum来制作ArrayFormula。这部分已经被AdamL问及answered her e。在你的情况下:

=ArrayFormula(SUMIF(IF(COLUMN(F1:I1),ROW(A10:A1000)),ROW(A10:A1000),F10:I1000))

您的最终公式是

=ArrayFormula(D10:D1000 * 
SUMIF(IF(COLUMN(F1:I1),ROW(A10:A1000)),ROW(A10:A1000),F10:I1000))