使用OR的Google Spreadsheet多列过滤器

the*_*tgt 13 google-sheets google-sheets-formula

我有一个包含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)
Run Code Online (Sandbox Code Playgroud)

但我不能为我的生活弄清楚如何在Google电子表格中获得这个

Ric*_*lay 33

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

=ROWS(FILTER(A2:A, NOT(ISBLANK(A2:A)), NOT(ISBLANK(B2:B))+NOT(ISBLANK(C2:C)) ))
Run Code Online (Sandbox Code Playgroud)

并解释:

  • ROWS 计算参数的行数(在我们的例子中,已过滤)
  • FILTER返回A2: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)"))
Run Code Online (Sandbox Code Playgroud)

有关查询语法的详细信息,请参阅" 可视化API查询语言参考",特别是" 语言参考"

  • 太棒了,QUERY函数......我甚至都不知道它存在!谢谢! (2认同)