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

时间:2015-01-20 11:47:25

标签: excel

我需要使用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()函数的行为吗?

1 个答案:

答案 0 :(得分:3)

COUNTIF无法使用非连续范围。

第一个公式实际发生的是COUNTIF正在被一组(两个)单独的范围所提供,因此结果是两个计数结果的数组,然后是{{ 1}}用于对数组求和。

如果你实际上有1和零,那么你只需用这个公式来理解它们

SUM

如果你只是想找到你最后一个公式为什么不起作用的话,是的,我认为=SUM(C1:C15,A16)确实有不同的作用 - 它能够处理一系列范围而其他一些功能不可能。这对于" IFS"是常见的。函数族,例如,COUNTIF可以做同样的