arrays - Excel:动态数组公式

标签 arrays excel

enter image description here

我有一张如图所示的 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/

相关文章:

java - 如果数组中有零,如何将数组中的元素向左移动 1?

string - 拆分文本列

excel - 如何将 Excel 配色方案从一个工作簿复制到另一个工作簿

VBA代码冲突

sql - SSIS包执行抛出错误DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER

javascript - 我可以在 Javascript 中创建这样的数组吗?

java - 如何找到数组中元素的索引?

arrays - Swift 数组加入 EXC_BAD_ACCESS

javascript - 简单的 Javascript 游戏 : Possible object array error

excel - 使用变量打开工作簿时出现错误438