繁体   English   中英

Excel:动态数组公式

[英]Excel: dynamic array formula

在此输入图像描述

我有一张Excel表格,如图所示。 我想制作一个使用单元格E1中的值的变量数组公式。

Cell 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 (虽然我不得不承认我不确定为什么你没有使用没有CSE SUMPRODUCT )。

我也不确定我理解这个设置是“动态”的程度,因为E1的值必须与公式中其他范围内硬编码的行数一致( B3:B5 ) 。 因此,实际上您只能选择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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM