Google Speadsheet

时间:2018-01-06 17:03:54

标签: google-sheets

我有一个奇怪的结果,我无法解释。 电子表格看起来像这样(我简化了数据,因为它是较大工作表的一部分):

   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")

我期望在0B2单元格中获得B3。而不是我在0B2 1中收到B3。 公式假设计算列(B2)或列的一部分(B3)中相同的非空值的数量。

你有什么想法吗?

2 个答案:

答案 0 :(得分:1)

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

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

B3中的过滤器没有结果,因此您得到了#N; A&#34;。当你把它喂给COUNTIF时,你得到1。

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

答案 1 :(得分:0)

我采用的类似方法是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)))})

(归功于Erik Tyler)