具有非连续范围的Excel INDIRECT()仅适用于COUNTIF()?
我需要使用Excel间接()函数来引用一个非连续的范围。 这( 如何在COUNTIF中定义一个不连续范围 )的答案举了一个例子。
总之,OP有两个范围,C1:C15和A16。 每个范围包含A或B,并且计算这两个范围内B的数量的方法是
=SUM(COUNTIF(INDIRECT({"C1:C15","A16"}),"B"))
如果我把所有的B都改成1,将A改成0,并且稍微改变这个公式
=SUM(COUNTIF(INDIRECT({"C1:C15","A16"}),"1"))
那么这仍然有效…但是! 这不:
=SUM(INDIRECT({"C1:C15","A16"}))
我可以解决这个问题,但是我错过了一些关于COUNTIF()函数的基本魔法,它以某种方式影响了INDIRECT()函数的行为。
在COUNTIF
使用不连续的范围是不可能的。
第一个公式的实际情况是, COUNTIF
被一个(两个)单独范围的数组所馈送,因此结果是两个计数结果的数组,然后使用SUM
来对数组进行求和。
如果你实际上有1和0,你不会用这个公式和他们
=SUM(C1:C15,A16)
如果你只是想找出为什么你的最后一个公式不起作用,那么,是的,我认为COUNTIF
工作方式不同 – 它能够处理一系列的范围,而其他一些function则不能。 这对于“IFS”函数族是很常见的,所以SUMIF
也可以这样做