我如何为此格式化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()
一起使用?
答案 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))