使用“SUMPRODUCT”公式中的“INDIRECT”函数进行真/假单元格引用
这是我目前使用的公式:
=SUMPRODUCT((INDIRECT("A2"):INDIRECT("A"&(ROW()-1))=A359)*1)
它工作得很好,但我想用它来代替:
=SUMPRODUCT((INDIRECT("A2"):INDIRECT("A"&(ROW()-1))=INDIRECT("A"&(ROW())))*1)
不幸的是我得到了一个#VALUE!
。 我究竟做错了什么? INDIRECT("A"&ROW(()))
和A359
返回相同的值,所以我不知道为什么这不起作用。
我不使用一个简单的COUNTIF
函数的原因是因为我剥离了我所有不必要的组件的公式,只留下了我有麻烦的部分(即我需要使用SUMPRODUCT
公式和COUNTIF
公式不起作用)
提前致谢!
我不知道为什么你需要INDIRECT
而不是普通的单元格引用,但是这里的具体问题是ROW
函数返回一个“数组”,即使它返回一个单一的值,例如返回{“x”}而不是“x “ – 在某些情况下,Excel无法处理。
尝试在SUM
函数中包装第二个ROW
函数 – 值不会改变,但它会摆脱数组,即
=SUMPRODUCT((INDIRECT("A2"):INDIRECT("A"&(ROW()-1))=INDIRECT("A"&SUM(ROW())))*1)
这将消除#VALUE! 同时使您的配方基本结构保持不变
试试这个:
=SUMPRODUCT((($A$2:INDEX($A:$A,ROW()-1))=INDEX($A:$A,ROW()))*1)
它给你相同的结果。
但上面的公式是波动的。 相反,我会使用下一个,在B3
说:
=SUMPRODUCT((($A$2:$A2)=$A3)*1)