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

Excel FILTER函数日期范围筛选异常:如何筛选近6个月日期?

问题分析与解决方案

第一个公式失效原因

FILTER函数的条件参数需要逐行对应的数组布尔值,但AND()函数会将整个条件区域的结果合并为单个TRUE/FALSE,无法实现逐行判断,导致公式返回NONE。

第二个公式返回全部日期原因

当MONTH(TODAY())-6(或你使用的-2)得到负数时,DATE()函数会自动向前推算年份,但如果推算后的日期早于MASTER中所有的End Date,就会返回全部日期;另外也可能是MASTER中的日期格式为文本,导致比较逻辑失效。

正确公式

基础修正版(日期为标准日期格式)

将AND()替换为数组逻辑与运算符*,实现逐行判断:

=FILTER(MASTER[End Date], (MASTER[End Date]>=EDATE(TODAY(),-6)) * (MASTER[End Date]<=TODAY()), "NONE")

兼容文本日期版

如果MASTER中的End Date是文本格式,先通过DATEVALUE()转换为标准日期:

=FILTER(MASTER[End Date], (DATEVALUE(MASTER[End Date])>=EDATE(TODAY(),-6)) * (DATEVALUE(MASTER[End Date])<=TODAY()), "NONE")

额外验证步骤

  • 检查MASTER的End Date列是否为标准日期:用=ISDATE(MASTER[End Date])测试,返回TRUE则为有效日期,FALSE则需转换格式。
  • 手动计算EDATE(TODAY(),-6)的结果,确认MASTER中存在处于该日期与TODAY()之间的记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 11:57:46