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

创建自定义列匹配指定日期区间 公式无匹配结果如何解决

Power Query自定义列匹配指定日期区间方案

完全可以创建自定义列实现日期区间匹配,你写的公式无法返回预期结果,核心原因有两个:

  • 区间判断逻辑错误:若要匹配2019-09-01到2022-04-01之间的日期,你当前写的两个判断条件为<= #date(2019,09,01)和< #date(2022,04,01),两个条件同时成立时仅能筛选出2019-09-01及更早的日期,第二个比较条件的方向写反了,无法覆盖两个日期中间的区间。
  • 同列返回值类型冲突:公式满足判断条件时返回文本类型的"Yes",不满足条件时返回日期类型的原始值,同一列混合文本、日期两种数据类型时,Power Query的类型识别会出现异常,直接导致匹配结果展示、筛选不符合预期。

修正方案

首先明确你要匹配的区间边界,统一所有返回值的数据类型:
如果你的目标是匹配*2019年9月1日(含)到2022年4月1日(不含)*之间的日期,使用以下公式:

= if [#"Start Date (Calculated 2)"] >= #date(2019,9,1) 
    and [#"Start Date (Calculated 2)"] < #date(2022,4,1) 
  then "Yes" 
  else "No"

如果你的目标确实是匹配2019年9月1日及更早的日期,仅需要把else分支的返回值统一为文本类型即可:

= if [#"Start Date (Calculated 2)"] <= #date(2019,9,1) 
    and [#"Start Date (Calculated 2)"] < #date(2022,4,1) 
  then "Yes" 
  else "No"

排查补充

如果修改公式后依然无法正常匹配,先检查[#"Start Date (Calculated 2)"]列的类型:选中该列,在顶部「转换」选项卡中确认数据类型为「日期」,如果是文本类型,先转换为标准日期类型再做比较,否则会按文本字符规则比较大小,结果完全不符合日期判断逻辑。
M公式中#date(年,月,日)的月、日参数带前导0不影响计算结果,不需要额外调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:27:18