Σ表格公式学堂EXCEL FORMULA & SCENARIO
进阶日期与时效计算 · 1 个 Sheet

合同到期日与续签提醒

签订日 + 期限 = 到期日,再算剩余天数。

1

场景背景

合同管理最怕漏掉到期日。台账里通常只有签订日期和期限月数,到期日要自己算。EDATE 按月推进,能自动处理「1 月 31 日加一个月是 2 月 28/29 日」这种边界;EOMONTH 则用来处理按月底到期的合同。

2

数据结构

共 1 个 Sheet
Sheet:合同台账
字段含义示例值
签订日期起始日2024-01-31
期限(月)合同时长12
到期日EDATE 计算2025-01-31
剩余天数到期日-今天92
3

解决步骤

1
第 1 步:EDATE 算到期日
签订日期 + 期限月数。1 月 31 日 + 1 个月会得到 2 月末,这是 Excel 的月末对齐规则。
=EDATE(C2,D2)
2
第 2 步:按月底到期的用 EOMONTH
如果合同约定「到期日为当月最后一天」,用 EOMONTH(签订日, 月数)。
=EOMONTH(C2,D2)
3
第 3 步:算剩余天数
到期日 - TODAY(),负数是已过期。
=E2-TODAY()
4
第 4 步:判断是否月末到期
DAY(到期日)=DAY(EOMONTH(到期日,0)) 为 TRUE 说明正好是月末。
=DAY(E2)=DAY(EOMONTH(E2,0))
4

完整公式与逐段拆解

=EDATE(C2,D2)
C2签订日期
D2期限月数,写 12 就是一年
EDATE按月推进,自动处理大小月和月末对齐
5

多 Sheet 示例

在编辑器中打开 ↗
ABCDEFGH
1合同号客户签订日期期限(月)到期日金额剩余天数状态
2HT-001甲公司2024-01-31122025-01-31120000-636已到期
3HT-002乙公司2024-06-1562024-12-1556000-683已到期
4HT-003丙公司2023-12-01242025-12-01240000-332已到期
5HT-004丁公司2024-03-20122025-03-2088000-588已到期
当前表:合同台账 · 公式单元格 E2 · 绿色底为公式,蓝色底为动态数组溢出结果

台账 E 列由 EDATE 算出到期日,G 列算剩余天数

6

数据流向

数据流向演示1 / 4
来源合同台账!C2
➜
去向EDATE
签订日期
来源合同台账!D2
→
去向EDATE
期限 12 个月
来源EDATE
→
去向E2
得到到期日
来源E2-TODAY()
→
去向G2
与今天比较算剩余天数
跟着高亮一步步看数据怎么流动
7

注意事项与坑

!EDATE 结果要设日期格式,否则显示 45678 这样的数字。
!期限写「1 年」这种文字没法参与计算,必须先转成 12 个月。
!跨多份合同批量算时,注意期限列有没有空值,空值会当成 0 个月。
8

相关场景