2016-05-08 50 views
0

我怎麼會去格式化的ARRAYFORMULA此?:谷歌表ARRAYFORMULA多個數學函數

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

我已經嘗試了幾種不同的方式,但他們沒有工作。我有一大堆的行與(式中,行號相匹配,當然,因此,例如:

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

我需要這個公式每一行,但我試圖找出一個ARRAYFORMULA使其作品當我加上或減去行。

感謝您的幫助!

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

我已經只是想出=arrayformula(D7:D*(F7:F+G7:G+H7:H+I7:I))工程,但我可能需要添加和也減去列。有沒有辦法使它與sum()一起工作?

回答

1

相信MMULT可以是一個很好的選擇:

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

變化範圍,以適應。

+0

感謝,JPV,這一個工作! – Shoelaced

0

解決數學問題的最好方法是分解它。

你有兩個乘數:d X之和(F:F)

的第一個任務是讓ARRAYFORMULA與D.原因很簡單:

=ArraFormula(D10:D1000) 

與硬質部是使ARRAYFORMULA與和。這部分已經被AdamL詢問並且answered here。你的情況:

=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)) 
+0

謝謝馬克斯,這一個似乎工作,但後來我注意到,它不斷添加行 - 管理停止它約8000和刪除它們。 – Shoelaced

+0

爲了防止它添加新的行,使用封閉範圍:a1:a1000,偏移量(a10 ,,, counta(a10:a)) –