我有一张Excel表格,如图所示。我想制作一个使用单元格E1中的值的变量数组公式。
Cell D4具有以下公式,可以正常工作:
{=SUM(A3:A5*B3:B5)}
但是,我尝试将E5与OFFSET一起使用的单元格D5不起作用:
{=我(我:OFFSET(I,E1,0)* B3:B5)}
任何人都可以解释如何使这个“动态”数组公式工作?
在你的例子中,部分
A3:OFFSET(A3,E1,0)
会解决范围
A3:A6
即包括4行的范围。显然将此范围与仅包含3行(B3:B5
)的范围相乘将会出错。
在任何情况下,最好避免挥发性OFFSET
。
尝试:
=SUM(A3:INDEX(A3:A5,E1)*B3:B5)
与CSE
(虽然我不得不承认,我不太确定你为什么不使用没有SUMPRODUCT
的CSE
)。
我也不确定我理解这个设置是“动态”的程度,因为E1
中的值必须与公式中其他范围内硬编码的行数一致(B3:B5
here)。因此,实际上你只有一个选择E1
的价值;所有其他人都会产生错误。除非您打算将该值纳入第二范围内吗?例如:
=SUM(A3:INDEX(A3:A5,E1)*B3:INDEX(B3:B5,E1))
问候
尝试使用OFFSET重塑范围而不是更改起始位置。
=SUM(OFFSET(A3, 0, 0, E1, 1)*OFFSET(b3, 0, 0, E1, 1))
这相当于,
=sum(A3:A5*B3:B5)