0

我有这个公式,它工作正常:

=OFFSET(INDIRECT(CELL("address";INDEX(INDIRECT($F6&"!C:C");MATCH($G$2;INDIRECT($F6&"!C:C");0))));0;14;1;1)

我给它一个工作表的名称和该工作表某一列中的一个值,它返回该目标值前面第 14 列中的数字。该单元格中的值实际上是它旁边的 12 个值的总和(一年中 12 个月的 12 个值)。热点: ;14;1;1)

现在我想更改公式,使其返回一个包含 12 个值的数组,以便我可以将它们与另一个数组相加。实际上,我希望能够选择要包含在最终求和操作中的月份。我将上面的公式更改为以下内容:

SUMPRODUCT(OFFSET(INDIRECT(CELL("address";INDEX(INDIRECT($F6&"!C:C");MATCH($G$2;INDIRECT($F6&"!C:C");0))));0;{2;3;4;5;6;7;8;9;10;11;12;13};1;1);$E$52:$E$63)

改变的部分: SUMPRODUCT( ..... ;{2;3;4;5;6;7;8;9;10;11;12;13};1;1);$E$52:$E$63)

显然,这是一个简单的更改,但它返回零。感谢帮助

4

1 回答 1

1

SUMPRODUCT 中的第一个参数返回一个引用数组。因此,您需要通过“取消引用”从这些引用中获取值。一种方法是将引用数组传递给 N() 函数。所以你的公式应该如下......

=SUMPRODUCT(N(OFFSET(INDIRECT(CELL("address",INDEX(INDIRECT("'"&$F6&"'!C:C"),MATCH($G$2,INDIRECT("'"&$F6&"'!C:C"),0)))),0,{2;3;4;5;6;7;8;9;10;11;12;13})),$E$52:$E$63)

请注意,我的 Excel 版本使用逗号作为列表分隔符。因此,相应地调整公式。

于 2019-10-02T21:55:29.927 回答