使用OR的Google Spreadsheet多列过滤器

时间:2010-03-25 02:38:48

标签: google-docs google-sheets

我有一个包含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电子表格中找到它

1 个答案:

答案 0 :(得分:33)

以下公式应该符合您的要求:

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

并解释:

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

最后,如果您不使用标题列,则可以将引用从A2:A更改为A: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 Query Language Reference,特别是Language Reference