EOMONTH 函数¶
函数概述¶
EOMONTH(End Of MONTH)用于返回指定日期在向前或向后若干个月后的月末日期。它非常适合处理按月结算、账期截止日、月末对账、月度报表日期等场景。
- 典型用途:计算当月月末、下月月末、上月月末;生成每月截止日期;配合其他函数做区间判断等。
- 返回值类型:日期(在 Excel 中以日期序列号存储,可通过单元格格式显示为“yyyy-mm-dd”等)。
基础语法¶
参数说明¶
| 参数名 | 必填 | 类型/形式 | 说明 |
|---|---|---|---|
| start_date | 是 | 日期 / 日期序列号 / 可被识别为日期的文本 | 作为计算基准的起始日期 |
| months | 是 | 整数 | 需要偏移的月份数:0 表示当月,1 表示下月,-1 表示上月,以此类推 |
基础用法示范¶
1)返回“基准日期所在月份”的月末日期¶
数据源
| 项目 | 值 |
|---|---|
| start_date | 2026-01-16 |
| months | 0 |
公式
说明
months=0 表示不偏移月份,直接返回基准日期所在月份的月末日期。
2)返回“下个月”的月末日期¶
数据源
| 项目 | 值 |
|---|---|
| start_date | 2026-01-16 |
| months | 1 |
公式
说明
months=1 表示向后推 1 个月,再取该月份的月末日期。
3)返回“上个月”的月末日期¶
数据源
| 项目 | 值 |
|---|---|
| start_date | 2026-01-16 |
| months | -1 |
公式
说明
months=-1 表示向前推 1 个月,再取该月份的月末日期。
4)从“任意月份偏移”批量生成月末日期¶
数据源
| 项目 | 值 |
|---|---|
| start_date | 2026-01-16 |
| months(可变) | -2、-1、0、1、2… |
公式
说明
将不同的 months(如 -2 到 12)填在一列中,即可批量得到对应月份的月末日期序列。
5)计算“当月第一天”¶
数据源
| 项目 | 值 |
|---|---|
| start_date | 2026-01-16 |
公式
说明
EOMONTH(start_date,-1) 得到上个月月末,再 +1 就是当月月初(当月 1 号)。这是做月度区间统计时非常常见的写法。
6)计算“本月剩余天数”¶
数据源
| 项目 | 值 |
|---|---|
| start_date | 2026-01-16 |
公式(不含当天)
公式(含当天)
说明
用“本月月末 - 当前日期”即可得到剩余天数;是否包含当天通过 +1 控制。
7)按“账期:每月月末截止”生成到期日¶
数据源
| 项目 | 值 |
|---|---|
| invoice_date | 2026-01-16 |
| months | 2 |
公式
说明 将发票日期作为基准,向后推 N 个月并取月末作为到期日,常用于“月结”类规则。
总结¶
- EOMONTH 的核心能力是:以某个日期为基准,按月偏移后返回目标月份的最后一天。
- 只要掌握
months的含义(0当月、正数向后、负数向前),就能快速构造月末、月初、账期截止日、月度区间等常用日期逻辑。 - 实战中经常与
+1(求月初)、日期差(求天数)、以及各类统计函数搭配使用,能显著提升月度报表与结算计算的效率。