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

Google Sheets QUERY函数筛选今日之后赛事数据失效问题求助

问题排查与解决方案

看起来你的问题核心出在逻辑运算符的优先级上!我来帮你拆解和修正:

问题根源

你当前使用的QUERY公式:

=query(Games!A:Y, "where A > date '"&TEXT(TODAY(),"yyyy-mm-dd")&"' and (F = 'Football') or (F = 'Rugby')",1)

在SQL逻辑中,AND的优先级高于OR,所以这个公式实际执行的逻辑是:
(A > 今日日期 AND F='Football') OR F='Rugby'

这就意味着:所有橄榄球赛事(不管日期是否过期)都会被筛选出来,这就是你看到“无法隐藏今日之前赛事”的原因——过期的橄榄球赛事被OR条件直接保留了。

修正后的公式

把赛事类型的条件整体用括号包裹,确保日期条件和赛事类型条件是同时满足的关系:

=query(Games!A:Y, "where A > date '"&TEXT(TODAY(),"yyyy-mm-dd")&"' and (F = 'Football' or F = 'Rugby')",1)

这个公式的逻辑是:
A > 今日日期 AND (F='Football' OR F='Rugby')
只有同时满足「日期在今日之后」和「是足球/橄榄球赛事」的条目才会被保留,过期的赛事自然会被过滤。

额外排查建议

  • 确认A列是日期格式:选中Games表的A列,右键→「设置单元格格式」→选择「日期」,确保单元格存储的是日期值,而非看起来像日期的文本(文本格式的日期无法和date 'yyyy-mm-dd'做正确的比较)。
  • 固定日期测试:可以暂时把TODAY()换成一个固定日期(比如date '2024-05-20'),验证筛选结果是否符合预期,排除TODAY()函数的潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 11:04:06