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

Google Sheets中QUERY函数OR逻辑与CONTAINS用法求助

解决Google Sheets中QUERY/SUMIFS的OR包含条件求和问题

我完全懂你遇到的这个麻烦——SUMIFS里的OR逻辑不好直接用,QUERY里的CONTAINS和OR组合又摸不清门道对吧?咱们一步一步来解决:

方法1:用SUMIFS实现(更简洁)

你之前的SUMIFS写法有两个问题:一是包含匹配需要用通配符*,二是数组条件需要用SUM包裹来实现OR逻辑(SUMIFS默认是AND,数组会返回多个结果,SUM把它们加总)。正确公式应该是:

=SUM(SUMIFS(D:D, A:A, "cars/build-price/carselector.html", C:C, "footer", B:B, "*"&{"ateca";"ibiza"}&"*"))
  • 解释:"*"&{"ateca";"ibiza"}&"*"会生成两个通配符条件(匹配包含ateca或ibiza的B列内容),SUMIFS分别计算符合每个条件的D列和,最后SUM把两个结果相加,就实现了OR逻辑的包含匹配求和。

方法2:用QUERY函数实现(更灵活)

QUERY里要把CONTAINS和OR结合,需要把两个CONTAINS条件用OR()包裹起来,同时注意语法的括号嵌套。正确的公式是:

=SUM(QUERY(A:D, "SELECT D WHERE A = 'cars/build-price/carselector.html' AND C = 'footer' AND (CONTAINS('ateca', B) OR CONTAINS('ibiza', B))", 0))
  • 解释:
    1. CONTAINS('ateca', B)表示B列包含"ateca",CONTAINS('ibiza', B)同理;
    2. 用OR()把两个包含条件组合,外层加括号保证优先级(避免和其他AND条件冲突);
    3. SELECT D指定要求和的列是D列,最后用SUM把QUERY返回的结果加总;
    4. 末尾的0表示数据区域没有表头(如果你的A:D第一行是表头,改成1即可)。

这两种方法都能完美解决你的需求,选哪个看你习惯——SUMIFS更直接,QUERY适合后续要扩展复杂条件的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:04:55