我有一张如图所示的 Excel 表格。我想制作一个使用单元格 E1 中的值的变量数组公式。
单元格 D4 具有以下公式,可以正常工作:
{=SUM(A3:A5*B3:B5)}
但是,我尝试将 E5 与 OFFSET 一起使用的单元格 D5 不起作用:
{=SUM(A3:OFFSET(A3,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
)。因此,实际上您对于 E1
中的值只有一个选择。 ;所有其他人都会产生错误。除非您打算将该值也包含在第二个范围内?例如:=SUM(A3:INDEX(A3:A5,E1)*B3:INDEX(B3:B5,E1))
问候
关于arrays - Excel:动态数组公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52166470/