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

Google Sheets QUERY函数Count可用但Sum/Avg等函数失效求助

问题分析与解决

你的公式在替换成Sum/Avg后失效,核心有两个问题:

  1. Label语句未同步修改
    你把count(B)换成sum(B)后,末尾的label count(B) ''没改成对应的label sum(B) '',QUERY会找不到要隐藏标签的统计列,直接报错。

  2. 逻辑运算符优先级错误
    原公式里B<5 AND (日期条件1) OR (日期条件2)...的逻辑会被解析为(B<5且日期条件1) 或者 日期条件2 或者...,这和你要的“B<5且任意一个接触点在日期范围内”的逻辑不符,必须把所有日期条件用括号整体包裹,再和B<5用AND连接。

修正后的Sum公式

=QUERY(B10:G,"Select Sum(B) 
where B<5 AND (
(C >= date '"&TEXT(C9, "e-m-d")&"' AND C <= date '"&TEXT(D9, "e-m-d")&"')
OR (D >= date '"&TEXT(C9, "e-m-d")&"' AND D <= date '"&TEXT(D9, "e-m-d")&"')
OR (E >= date '"&TEXT(C9, "e-m-d")&"' AND E <= date '"&TEXT(D9, "e-m-d")&"')
OR (F >= date '"&TEXT(C9, "e-m-d")&"' AND F <= date '"&TEXT(D9, "e-m-d")&"')
OR (G >= date '"&TEXT(C9, "e-m-d")&"' AND G <= date '"&TEXT(D9, "e-m-d")&"')
)
label Sum(B) ''", 0)

修正后的Avg公式

=QUERY(B10:G,"Select Avg(B) 
where B<5 AND (
(C >= date '"&TEXT(C9, "e-m-d")&"' AND C <= date '"&TEXT(D9, "e-m-d")&"')
OR (D >= date '"&TEXT(C9, "e-m-d")&"' AND D <= date '"&TEXT(D9, "e-m-d")&"')
OR (E >= date '"&TEXT(C9, "e-m-d")&"' AND E <= date '"&TEXT(D9, "e-m-d")&"')
OR (F >= date '"&TEXT(C9, "e-m-d")&"' AND F <= date '"&TEXT(D9, "e-m-d")&"')
OR (G >= date '"&TEXT(C9, "e-m-d")&"' AND G <= date '"&TEXT(D9, "e-m-d")&"')
)
label Avg(B) ''", 0)

额外优化建议

如果接触点列是连续的(C到G),可以用REGEXMATCH简化日期条件,避免重复写多个OR:

=QUERY(B10:G,"Select Sum(B) 
where B<5 AND (
REGEXMATCH(TEXT(C, 'e-m-d') & ',' & TEXT(D, 'e-m-d') & ',' & TEXT(E, 'e-m-d') & ',' & TEXT(F, 'e-m-d') & ',' & TEXT(G, 'e-m-d'), '^.*("&TEXT(C9, "e-m-d")&"|"&TEXT(D9, "e-m-d")&"|.*"&TEXT(C9, "e-m-d")&"-.*"&TEXT(D9, "e-m-d")&").*$')
)
label Sum(B) ''", 0)

不过这个简化版需要确保日期格式完全匹配,适合列数较多的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 03:42:42