Excel 具有非连续范围的 INDIRECT() ... 仅适用于 COUNTIF()?

Excel INDIRECT() with non-contiguous range ... only works with COUNTIF()?

我需要使用 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 和零,你不会用这个公式对它们求和吗

=SUM(C1:C15,A16)

如果您只是想找出为什么您的最后一个公式不起作用,那么,是的,我认为 COUNTIF 确实以不同的方式工作 - 它能够处理范围数组,而其他一些函数不能.这对于 "IFS" 函数族是常见的,因此 SUMIF,例如,可以做同样的事情