You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets QUERY函数WHERE子句多条件过滤使用问题求助

Google Sheets QUERY函数WHERE多条件使用说明

原公式错误原因

  • 逻辑错误:A='Blue' AND A='Green'为永假条件,同一行A列无法同时等于两个不同值,且需求为筛选Green、Red,不需要匹配Blue,此处应使用OR逻辑或IN语法
  • 语法错误:B<=Date'2021-09-30'AND中AND关键字前缺少空格,触发语法校验失败
  • 需求匹配错误:仅用ISDATE(D)无法满足D列开票日期为9月的要求,需要补充D列的日期范围判断

WHERE子句多条件通用规则

  • 逻辑判断:同时满足的条件用AND连接,满足任意一个即可的条件用OR连接,可通过括号调整判断优先级
  • 字符串匹配:多个可选值可直接用列名 IN ('值1','值2','值3')简化写法,不需要写多个OR
  • 日期格式:所有日期判断必须使用DATE'YYYY-MM-DD'标准格式,大小写不敏感但建议统一写法
  • 语法规范:条件、运算符、关键字之间必须保留空格,避免触发语法错误
  • 条件数量:无明确上限,只要逻辑通顺、公式字符长度未超出Google Sheets限制即可正常使用,5个及以内条件完全无压力

对应场景的可用公式

场景1:筛选B列日期为9月的数据,求和C列

=QUERY(A:D, "SELECT SUM(C) WHERE B >= DATE'2021-09-01' AND B <= DATE'2021-09-30'", 1)

场景2:筛选A列取值为Green、Red + B列9月的数据,求和C列

=QUERY(A:D, "SELECT SUM(C) WHERE B >= DATE'2021-09-01' AND B <= DATE'2021-09-30' AND A IN ('Green','Red')", 1)

场景3:满足以上两个条件 + D列开票日期为9月,求和C列

=QUERY(A:D, "SELECT SUM(C) WHERE B >= DATE'2021-09-01' AND B <= DATE'2021-09-30' AND A IN ('Green','Red') AND D >= DATE'2021-09-01' AND D <= DATE'2021-09-30'", 1)

公式末尾的1代表源数据包含1行表头,可根据实际数据情况调整为对应表头行数,无表头可省略该参数。

内容的提问来源于stack exchange,提问作者Chinbin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:15:01