13

我有一个包含 3 列的 Google 电子表格,这些列要么是空白的,要么是有值的。我想计算填充了 A 和 B 或 C 的行数。如果我正在编写 SQL 查询,那将是

select count(*) 
from Table 
where A is not null and (B is not null or C is not null)

但我终其一生都无法弄清楚如何在 Google 电子表格中获取此信息

4

1 回答 1

33

下面的公式应该做你所追求的:

=ROWS(FILTER(A2:A, NOT(ISBLANK(A2:A)), NOT(ISBLANK(B2:B))+NOT(ISBLANK(C2:C)) ))

并解释:

  • ROWS计算参数的行数(在我们的例子中是过滤的)
  • FILTERA2:A返回所有后续参数匹配的 arg1 ( ) 行
  • +加法)符号将两个谓词与一个逻辑OR

最后,如果您不使用标题列,您可以将引用从 更改A2:AA:A

或者,您可以使用以下QUERY功能:

(为了便于阅读,分成多行)

=ROWS(QUERY(A2:C, 
    "SELECT A WHERE A IS NOT NULL AND (B IS NOT NULL OR C IS NOT NULL)"))

有关查询语法的更多信息,请参阅Visualization API 查询语言参考,特别是语言参考

于 2010-05-02T11:37:21.010 回答