【问题标题】:Excel INDIRECT() with non-contiguous range ... only works with COUNTIF()?具有非连续范围的 Excel INDIRECT() ...仅适用于 COUNTIF()?
【发布时间】:2015-01-20 11:47:25
【问题描述】:

我需要使用 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() 函数按预期运行?

【问题讨论】:

标签: excel


【解决方案1】:

不能在COUNTIF 中使用不连续的范围。

第一个公式实际发生的情况是 COUNTIF 被提供了一个(两个)单独范围的数组,因此结果是两个计数结果的数组,然后 SUM 用于求和数组。

如果你真的有 1 和 0,你不会用这个公式对它们求和

=SUM(C1:C15,A16)

如果您只是想找出上一个公式不起作用的原因,是的,我认为 COUNTIF 的工作方式有所不同 - 它能够处理一系列范围,而其他一些函数则不能。这对于“IFS”系列函数很常见,因此例如SUMIF 也可以这样做

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多