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

如何修改QUERY函数实现按当前年月匹配A列提取C列数据?

解决QUERY公式匹配年月返回错误值的问题

问题原因

你的公式错误在于类型不匹配:

  • 若A列是文本格式的年月(如Jan 2023),公式里用date 'yyyy-mm-dd'格式去匹配文本,两者类型不兼容,导致QUERY无法正确匹配目标行,反而返回了错误结果。
  • 若A列是日期格式(实际存储的是当月某一天,仅显示为年月),公式仅匹配当月第一天的日期,若A列存储的不是当月第一天,条件就不成立,自然找不到目标值。

针对性修改方案

方案1:A列为文本格式的年月

将公式生成的日期转为和A列一致的文本格式,直接匹配:

=QUERY(A1:C8,"select C where A = '"&TEXT(TODAY(),"mmm yyyy")&"'",1)

TEXT(TODAY(),"mmm yyyy")会把当前日期转为Apr 2023这类文本,和A列格式完全匹配,确保WHERE条件精准定位目标行。

方案2:A列为日期格式(存储当月任意日期)

直接匹配年月而非具体日期,用year()和month()函数提取年月信息:

=QUERY(A1:C8,"select C where year(A) = year(TODAY()) and month(A) = month(TODAY())",1)

这个公式会匹配所有和当前日期年月相同的行,不管A列存储的是当月哪一天。

备选方案:匹配当月日期范围

如果需要明确限定当月的日期区间,也可以用以下公式:

=QUERY(A1:C8,"select C where A >= date '"&TEXT(EOMONTH(TODAY(),-1)+1,"yyyy-mm-dd")&"' and A <= date '"&TEXT(EOMONTH(TODAY(),0),"yyyy-mm-dd")&"'",1)

该公式会匹配A列日期在当前月第一天到最后一天之间的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:55:30