【问题标题】:COUNTIF(FILTER(range;condition);criteria) issue in Google SpeadsheetGoogle 电子表格中的 COUNTIF(FILTER(range;condition);criteria) 问题
【发布时间】:2018-01-06 17:03:53
【问题描述】:

我有一个奇怪的结果,我无法解释。 电子表格如下所示(我简化了数据,因为它是较大工作表的一部分):

   A | B
-----+---
 1 X | Y
 2   |
 3   |
 4 1 |
 5 1 |
 6 1 |
 7 1 |
 8 1 |
 9 1 |
10 1 |
11 1 |
12 1 |
13 1 |
14   |
...and so empty rows till the end of the sheet.

单元格 B2 包含公式:

=COUNTIF(filter(B4:B;$A4:$A = B4:B);"<>0")

单元格 B3 包含公式:

=COUNTIF(filter(B4:B13;$A4:$A13 = B4:B13);"<>0")

我期望在B2 和B3 单元格中得到0。取而代之的是,我在B2 中收到0,在B3 中收到1。 这些公式假设计算列 (B2) 或部分列 (B3) 中相同非空值的数量。

你有什么想法吗?

【问题讨论】:

    标签: google-sheets


    【解决方案1】:

    出于同样的原因,这给出了 1:

    =countif(na(),"<>0")
    

    B3 中的过滤器没有给出任何结果,因此您得到“#N/A”。当你把它输入 COUNTIF 时,你得到 1。

    B2 中的过滤器确实给出了一些结果(因为它对列 A 和 B 中的所有空白单元格都成功)。但是结果都是空白,所以你得到的计数是 0。

    【讨论】:

      【解决方案2】:

      我采用的类似方法是this one。

      基本上它使用以下公式:

      =ArrayFormula({"Count [Erik]";IF(B2:B="","",IFERROR(VLOOKUP(B2:B&"",QUERY({MyTable!B2:B&"",MyTable!C2:C},"Select Col1, COUNT(Col2) Where Col1 Is Not Null And Col2 = 'CriteriaA' Group By Col1"),2,FALSE)))})
      

      (感谢埃里克·泰勒)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-17
        • 2014-04-24
        • 2015-11-29
        相关资源
        最近更新 更多