我有这个公式,它很好用:
=OFFSET(INDIRECT(CELL("address";INDEX(INDIRECT($F6&"!C:C");MATCH($G$2;INDIRECT($F6&"!C:C");0))));0;14;1;1)
i给它指定工作表名称和该工作表中特定列中的值,并返回该目标值前面第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)
显然是一个简单的更改,但它返回零。感谢您的帮助
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版本使用逗号作为列表分隔符。因此,请相应地调整公式。