如何获取指定月份可用最后一天对应的数据值?
获取指定月份最后一天对应数值的Excel方法
假设你的数据在A2:B5区域,要找1月(即月份为1)对应的最后一天数值,这里有几个实用的实现方式:
方法1:使用LOOKUP + EOMONTH函数
这个方法适配大多数Excel版本,逻辑清晰直接:
=LOOKUP(EOMONTH(DATE(2020,1,1),0),A:A,B:B)
- 拆解说明:
EOMONTH(DATE(2020,1,1),0)会自动生成2020年1月的最后一天(也就是示例里的28/01/2020);LOOKUP函数会在A列精准查找这个日期,返回B列对应的数值20。 - 动态优化:如果需要灵活调整年份和月份,可以把
DATE(2020,1,1)换成单元格引用,比如年份存C1、月份存C2,就改成EOMONTH(DATE(C1,C2,1),0)。
方法2:使用MAXIFS + INDEX/MATCH(适合Excel 2019及以后版本)
先锁定指定月份的最大日期(即当月最后一天),再匹配对应数值:
=INDEX(B:B,MATCH(MAXIFS(A:A,A:A,">="&DATE(2020,1,1),A:A,"<="&EOMONTH(DATE(2020,1,1),0)),A:A,0))
- 拆解说明:
MAXIFS先筛选出1月范围内的所有日期,提取其中的最大值;接着MATCH定位这个日期在A列的位置,最后INDEX返回B列对应位置的数值。
方法3:使用XLOOKUP(Excel 365/2021专属)
新版Excel的XLOOKUP函数更简洁,还能兼容“列表无精准最后一天”的场景:
=XLOOKUP(EOMONTH(DATE(2020,1,1),0),A:A,B:B,0,-1)
- 拆解说明:参数
-1表示查找小于等于目标日期的最大匹配项,就算你的列表里没有刚好是当月最后一天的记录,也能自动匹配到当月最接近末尾的数值。
⚠️ 小提示:如果A列的日期是文本格式,记得先将其转换成Excel可识别的标准日期格式,否则函数会失效哦。
内容的提问来源于stack exchange,提问作者Marcello Impastato
相关产品推荐
相关产品推荐

