跳转至

EOMONTH 函数

函数概述

EOMONTH(End Of MONTH)用于返回指定日期向前或向后若干个月后的月末日期。它非常适合处理按月结算、账期截止日、月末对账、月度报表日期等场景。

  • 典型用途:计算当月月末、下月月末、上月月末;生成每月截止日期;配合其他函数做区间判断等。
  • 返回值类型:日期(在 Excel 中以日期序列号存储,可通过单元格格式显示为“yyyy-mm-dd”等)。

基础语法

EOMONTH(start_date, months)

参数说明

参数名 必填 类型/形式 说明
start_date 日期 / 日期序列号 / 可被识别为日期的文本 作为计算基准的起始日期
months 整数 需要偏移的月份数:0 表示当月,1 表示下月,-1 表示上月,以此类推

基础用法示范

1)返回“基准日期所在月份”的月末日期

数据源

项目
start_date 2026-01-16
months 0

公式

=EOMONTH(start_date, 0)

说明 months=0 表示不偏移月份,直接返回基准日期所在月份的月末日期。


2)返回“下个月”的月末日期

数据源

项目
start_date 2026-01-16
months 1

公式

=EOMONTH(start_date, 1)

说明 months=1 表示向后推 1 个月,再取该月份的月末日期。


3)返回“上个月”的月末日期

数据源

项目
start_date 2026-01-16
months -1

公式

=EOMONTH(start_date, -1)

说明 months=-1 表示向前推 1 个月,再取该月份的月末日期。


4)从“任意月份偏移”批量生成月末日期

数据源

项目
start_date 2026-01-16
months(可变) -2、-1、0、1、2…

公式

=EOMONTH(start_date, months)

说明 将不同的 months(如 -2 到 12)填在一列中,即可批量得到对应月份的月末日期序列。


5)计算“当月第一天”

数据源

项目
start_date 2026-01-16

公式

=EOMONTH(start_date, -1)+1

说明 EOMONTH(start_date,-1) 得到上个月月末,再 +1 就是当月月初(当月 1 号)。这是做月度区间统计时非常常见的写法。


6)计算“本月剩余天数”

数据源

项目
start_date 2026-01-16

公式(不含当天)

=EOMONTH(start_date, 0)-start_date

公式(含当天)

=EOMONTH(start_date, 0)-start_date+1

说明 用“本月月末 - 当前日期”即可得到剩余天数;是否包含当天通过 +1 控制。


7)按“账期:每月月末截止”生成到期日

数据源

项目
invoice_date 2026-01-16
months 2

公式

=EOMONTH(invoice_date, months)

说明 将发票日期作为基准,向后推 N 个月并取月末作为到期日,常用于“月结”类规则。

总结

  • EOMONTH 的核心能力是:以某个日期为基准,按月偏移后返回目标月份的最后一天
  • 只要掌握 months 的含义(0 当月、正数向后、负数向前),就能快速构造月末、月初、账期截止日、月度区间等常用日期逻辑。
  • 实战中经常与 +1(求月初)、日期差(求天数)、以及各类统计函数搭配使用,能显著提升月度报表与结算计算的效率。