EOMONTH函数可快速获取指定月份最后一天:设months为0得当月月末;结合DATE可处理年月输入;设1或-1得上下月月末;配合TODAY实现动态更新;文本日期需先用DATEVALUE或DATE转换。

如果您需要在Excel中快速获取指定月份的最后一天日期,则可以使用EOMONTH函数。该函数专门用于返回某日期所在月份或其前后若干月的月末日期。以下是实现此目标的具体方法:
一、基础用法:获取当前月份的最后一天
EOMONTH函数的基本语法为EOMONTH(start_date, months),其中start_date为起始日期,months为相对于该日期的月份数(正数表示之后,负数表示之前,0表示当月)。设置months参数为0,即可直接返回该日期所在月份的最后一天。
1、在单元格中输入起始日期,例如在A1单元格输入2024/5/10;
2、在B1单元格输入公式:=EOMONTH(A1,0);
3、按Enter键确认,B1将显示2024/5/31。
二、动态获取任意月份的最后一天
若已知年份和月份但无具体日期,可结合DATE函数构造合法起始日期,再传递给EOMONTH。DATE函数能自动处理无效日期(如2024年2月30日会转为3月2日),因此无需担心日部分取值问题。
1、在A1输入年份,例如2024;
2、在B1输入月份,例如2;
3、在C1输入公式:=EOMONTH(DATE(A1,B1,1),0);
4、按Enter键确认,C1将返回2024/2/29。
三、获取下个月或上个月的最后一天
通过调整EOMONTH函数的months参数,可灵活获得相邻月份的月末日期。例如months为1时返回下月最后一天,为-1时返回上月最后一天,适用于滚动周期计算场景。
1、在A1输入基准日期,例如2024/6/15;
2、在B1输入公式:=EOMONTH(A1,1),获取下月最后一天;
3、在C1输入公式:=EOMONTH(A1,-1),获取上月最后一天;
4、按Enter键确认后,B1显示2024/7/31,C1显示2024/5/31。
四、配合TODAY函数实时获取当月最后一天
使用TODAY()作为EOMONTH的起始日期参数,可使结果随系统日期自动更新,适用于制作动态报表或截止日期提醒。
1、在任意空白单元格输入公式:=EOMONTH(TODAY(),0);
2、按Enter键确认;
3、该单元格将实时显示当前系统日期所在月份的最后一天,例如系统日期为2024/8/17时,结果为2024/8/31。
五、处理文本型日期输入的兼容方案
当原始数据为文本格式(如“2024-05”、“2024年5月”)时,EOMONTH无法直接识别,需先转换为标准日期。可借助DATEVALUE或组合LEFT/MID等函数提取年月信息。
1、在A1输入文本日期,例如"2024-05";
2、在B1输入公式:=EOMONTH(DATEVALUE(A1&"-01"),0);
3、按Enter键确认;
4、B1将返回2024/5/31;
5、若A1为"2024年5月",则B1改用公式:=EOMONTH(DATE(LEFT(A1,4),MID(A1,6,2),1),0)。

















