在Excel中计算合同到期提醒,可通过以下步骤实现:
一、计算剩余天数
-
基础公式
在目标单元格输入公式
=B2-TODAY()
(假设合同到期日期在B列),通过拖拽填充柄自动计算所有合同剩余天数。若B列日期小于当前日期,Excel会显示#NUM!
占位符。 -
处理负数结果
将剩余天数列格式设置为“常规”,负数表示已过期,正数表示未到期。例如,C列公式
=IF(B2-TODAY() < 0, "已过期", B2-TODAY())
可直观显示合同状态。
二、设置条件格式提醒
-
数据条可视化
选中剩余天数列,点击「条件格式」→「数据条」,根据数值大小显示不同长度的条形图,快速识别到期进度。
-
自动标红预警
-
已过期 :输入公式
=B2-TODAY() < 0
,设置填充色为红色。 -
即将到期 :输入公式
=B2-TODAY() <= 30
,设置填充色为黄色(可根据需求调整天数)。
-
三、高级提醒功能(可选)
通过VBA实现开机弹窗提醒:
-
打开VBA编辑器,在
ThisWorkbook
模块添加代码:Private Sub Workbook_Open() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("数据表") Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "D").End(xlUp).Row For i = 2 To lastRow If ws.Cells(i, "D").Value - Date <= 7 Then MsgBox "合同 " & ws.Cells(i, "A").Value & " 即将到期!", vbExclamation End If Next i End Sub
-
保存为启用宏的工作簿,开机即可自动检查并提醒。
四、注意事项
-
确保日期列格式为Excel标准日期格式(如
2023/8/20
),否则公式可能出错。 -
填充公式时保持单元格引用相对(如
B2
而非$B$2
),避免锁定列导致错误。