excel做倒计时特别简单,用日期相减就能实现:先填好目标日期,套公式 =目标日期-today() 算出剩余天数,再搭配条件格式,就能把快到期、已经过期的行自动标出来。本次演示用的是microsoft 365版本的excel,要是你用wps或者老版excel,得先确认软件支持文中提到的函数和条件格式规则,不然容易出问题。
我们这里拿「项目截止日期」举例子,目标日期放在B列,剩余天数放在C列,实际用的时候你把日期列换成合同到期日、报名截止日、证书有效期、活动开始日这类需要倒计时的字段就行。
第一步
先把表格整理成三列:事项、目标日期、剩余天数。注意目标日期得是Excel能识别的标准日期格式,别在日期前面加单引号,也不要直接写「8月20号」这种纯文本内容。选中标好的目标日期单元格,要是单元格和顶部公式栏显示的都是规范日期格式,后面的公式才能正常算出数字结果。

第二步
点剩余天数列的第一个数据单元格,输入公式 =B3-TODAY(),按回车就能算出今天距离目标日期的天数。这里默认目标日期放在B3单元格,要是你自己的表格里日期存在D2,把公式里的B3换成D2就行。算出来是正数,说明还有X天到期;结果是0,就是今天到期;结果是负数,代表已经超期了。

TODAY 函数的语法是 TODAY(),不需要填任何参数,作用是读取你电脑当前的系统日期。做倒计时的时候基本都是直接和目标日期相减,也就是刚才用的 =B3-TODAY()。要是不想显示纯数字,想直接出带文字的结果,可以用这个公式:=IF(B3<TODAY(),"已过期"&TODAY()-B3&"天","还剩"&B3-TODAY()&"天")。
| 参数或表达式 | 作用 | 示例结果 |
|---|---|---|
TODAY() |
返回电脑当前日期 | 2026/7/31 |
B3-TODAY() |
目标日期减今天 | 距离 2026/8/20 还有 20 天 |
TODAY()-B3 |
今天减目标日期 | 适合计算已过期天数 |
第三步
把写好的公式往下拉,填充完剩余天数列的所有行,之后选中需要加提醒的剩余天数或者目标日期区域,点顶部「开始」选项卡下的「条件格式」。这里提醒下,只选有实际数据的区域就行,别直接选整列空白单元格,不然条件格式规则会套到大量空行,后期表格会显得特别乱。

第四步
先给已经过期的项目设个红色高亮规则。比如剩余天数存在C列,直接用公式 =$C2<0 就行;不想靠剩余天数判断,直接读目标日期也可以,公式写成 =$B2<TODAY()。设置完之后,剩余天数为负、或者早于今天的日期所在行都会变红,扫一眼就能找到所有超期的事项。

做的时候最容易踩三类坑:一是日期本质是纯文本,公式跑出来的结果完全不对;二是单元格格式被误设成了日期格式,算出来的剩余天数会变成奇怪的日期字符串;三是条件格式公式里的单元格引用没锁对列。如果要给整行加提醒,列号前面一定要加 $,比如 =$B2<TODAY(),行号前面别加锁,这样规则才能逐行自动判断。
第五步
接着再加个临近到期的提醒规则,比如用公式 =AND($C2>=0,$C2<=7),就能自动标出7天内要到期的事项;也可以直接判断目标日期,写 =AND($B2>=TODAY(),$B2<=TODAY()+7)。规则都存好之后,超期的标红,快到期的可以用黄色或者绿色高亮,平时维护只要改目标日期就行,倒计时会跟着系统当天的日期自动更新,不用手动改。

要是统计倒计时想把周末排除在外,把剩余天数的公式换成 =NETWORKDAYS(TODAY(),B3) 就行,这个函数只会统计工作日;想要显示「还剩2个月5天」这种带月数天数的格式,可以用这个公式:=DATEDIF(TODAY(),B3,"m")&"个月"&DATEDIF(EDATE(TODAY(),DATEDIF(TODAY(),B3,"m")),B3,"d")&"天"。如果公式跑出来返回 #NUM!,一般是因为目标日期早于今天,先用IF分支把过期的状态单独处理,再显示剩余时间,公式运行会更稳定。



















