做合同到期自动提醒,靠「剩余天数公式+条件格式」就能搞定:先算出每份合同的剩余到期天数,再让excel自动把过期、快到期的记录标红。本次操作以microsoft excel为例,演示里合同到期日期放在d列,剩余天数计算结果放e列,你自己用的时候对应调整列号就行。
人事合同、供应商合同、租赁合同、售后服务协议这类台账都能用这个方法。公式会跟着系统日期自动更新,每次打开文件,哪些合同要处理一眼就能看到。
第一步:整理合同台账字段
先把「公司名称、合同签订时间、合同到期时间、合同剩余天数」这几个核心字段留好。到期日期一定要录成标准日期格式,别直接把“2026年7月31日”当普通文本输进去:要是发现日期靠左对齐、没法参与计算,先用「数据分列」功能或者直接改单元格格式,把它转成标准日期。

提醒列别手工填“快到期”“已过期”这类内容,后面直接用公式自动生成,数据多了也不会漏改。
第二步:输入剩余天数公式
点第一条合同对应的「合同剩余天数」单元格,输入公式 =D2-TODAY(),再把公式向下填充整列就行。这里D2是当前行的合同到期时间,TODAY() 函数会自动读取当天的系统日期,两个数相减就是剩余天数:结果为正说明还没到期,等于0是当天到期,负数代表已经过期。

TODAY 函数的语法非常简单,直接写 =TODAY() 就行。
| 项目 | 说明 | 写法 |
|---|---|---|
| 函数名称 | 返回电脑系统当前日期 | TODAY |
| 参数 | 没有参数,括号必须保留 | =TODAY() |
| 合同剩余天数 | 到期日减当天日期 | =D2-TODAY() |
| 带文字提醒 | 用 IF 根据剩余天数输出状态 | =IF(D2-TODAY()<0,"已过期",IF(D2-TODAY()<=30,"30天内到期","正常")) |
实操里最常碰到3种报错:公式出来显示 #VALUE!,基本都是D列的日期存成了文本格式;剩余天数算出来不对,先核对下你电脑的系统日期是不是准的;公式不会自动刷新的话,点开顶部「公式」选项卡,把计算选项改成「自动」就好。
第三步:用条件格式设置到期规则
选中E列所有存剩余天数的单元格,点顶部「开始」选项卡的「条件格式」,选「新建规则」,再挑「使用公式确定要设置格式的单元格」。只想提醒过期合同的话,公式填 =$E2<0;要提醒30天内到期的合同,就写 =AND($E2>=0,$E2<=30)。

| 提醒目标 | 条件格式公式 | 显示建议 |
|---|---|---|
| 已经过期 | =$E2<0 |
红色填充 |
| 30 天内到期 | =AND($E2>=0,$E2<=30) |
橙色或黄色填充 |
| 当天到期 | =$E2=0 |
加粗或深色文字 |
公式里的美元符号只锁定E列,不锁行号,规则往下套用的时候会自动识别E3、E4、E5……不会所有行都拿E2的数值来判断。
第四步:检查提醒结果
规则保存完,过期的合同就会自动变成醒目的标记色。可以随便改一条合同的到期日期测试下:把日期改到今天之前,剩余天数会自动变成负数,触发红色提醒;改到30天以内,就会触发临近到期的提醒色。

要是想整行高亮提醒,就别只选E列。先把整张合同表的数据区域全选,比如选 A2:E100,条件格式的公式还是写 =$E2<0 或者 =AND($E2>=0,$E2<=30),这样整行的公司名称、签订时间、到期时间都会同步变色,找要处理的合同更方便。
日常用的时候,把公式里的“30”改成你们公司要求的提前提醒天数就行。临近要续签的合同设成黄色高亮,已经逾期的设成红色,两条规则同时生效,打开表格第一眼就能先处理最紧急的记录。


















