我需要使用 Excel Indirect() 函数来引用非连续范围。这个( How to define a non continuous range in 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
工作方式不同——它能够处理范围数组,而其他一些函数则不能。这在“IFS”函数族中很常见,所以 SUMIF
,例如,可以做同样的事情
关于具有非连续范围的 Excel INDIRECT() ...仅适用于 COUNTIF()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28044588/