与间接的SUMPRODUCT
我已经检查了与这个主题有关的所有问题,但没有一个帮助。
我有这个公式
=SUMPRODUCT((INDIRECT("Ap"&ROW()&":"&"Ap"&(ROW()+$T4-1)));(INDIRECT("Ap"&ROW()&":"&"Ap"&(ROW()+$T4-1))))
这导致 – 0。
=SUMPRODUCT((INDIRECT("Ap"&ROW()&":"&"Ap"&(ROW()+$T4-1)))*(INDIRECT("Ap"&ROW()&":"&"Ap"&(ROW()+$T4-1))))
这导致 – “价值!
用SUM命令一切正常,但我现在卡住了。 我使用Microsoft Office 2013,我似乎无法find这个INDIRECT
函数的问题,因为它与其他命令很好地工作。
例如,如果我在前5行中的列数为1到5,列B
中列数相同,则我把公式写入C1
=SUMPRODUCT((INDIRECT("A"&ROW()&":"&"A"&(ROW()+4)))*(INDIRECT("B"&ROW()&":"&"B"&(ROW()+4))))
结果与原始示例相同。
你正在使用的build筑相当差,说实话。 不仅是不合格的ROW()是一个非常不合理的select,而且在这种types的设置中几乎总是可以避免易变的INDIRECT结构。
更好的是:
=SUMPRODUCT(INDEX(A:A,ROWS($1:1)):INDEX(A:A,ROWS($1:1)+4),INDEX(B:B,ROWS($1:1)):INDEX(B:B,ROWS($1:1)+4))
请参阅这里讨论使用ROWS而不是ROW的优点:
http://excelxor.com/2014/08/25/row-vs-rows-for-consecutive-integer-generation/
问候
使用您的示例与列A和B中的数据,以及对类似问题的答案 , ROW()
函数返回一个数组,而不是一个单一的值。 用sum()
包装它解决了这个问题。
=SUMPRODUCT(INDIRECT("A"&SUM(ROW())&":"&"A"&SUM((ROW()+4))),INDIRECT("B"&SUM(ROW())&":"&"B"&SUM((ROW()+4))))