ARTICLE · 1015091
Excel怎么计算两个日期相差多少天?
做项目排期要算工期,搞活动要算倒计时,盯合同要算还有几天到期……你是不是还在掰着手指头数日子?其实完全不用。今天教你 3 种方法,两个日期一相减,相差多少天立刻出来。
场景举例
假设你在管一个项目,要算每个任务从开始到结束的天数:
目标:在 D 列输入公式,自动算出每行两个日期相差的天数。
方法一:直接相减(最快,3 秒搞定)
操作步骤
在 D2 单元格输入:
=C2-B2 回车,得到 14; 选中 D2,双击右下角填充柄,整列自动算完。
原理很简单:在 Excel 里日期本质是数字,两个日期相减,差值就是天数。
⚠️ 如果结果显示成 1900/1/14 这样的日期,不是算错了,把 D 列格式改成「常规」就好,下面常见问题里细说。
方法二:DATEDIF 函数(更规范)
在 D2 单元格输入:
=DATEDIF(B2,C2,"D") 回车下拉,结果同样是 14、24、50。
它专门用来算两个日期的差,第三参数写 "D" 就是按天算。
📌 单位参数必须加英文双引号,写成 D 不带引号会直接报错。
方法三:TODAY 算倒计时(还有几天到期)
想知道距离 11 月 30 日上线还有几天?在空白单元格输入:
=C4-TODAY() TODAY() 自动取系统当天日期,结果每天打开都自动更新,做项目倒计时、合同到期提醒特别好用。
💡 举一反三:把 C4 换成 DATE(2026,12,31),就是「距离 2027 年元旦还有几天」。
公式说明
常见问题
Q1:两个日期相减,结果显示成 1900/1/14 这种日期? 答:结果单元格被自动设成了日期格式。选中结果列 → 右键 →「设置单元格格式」→「常规」,就会变回数字 14。
Q2:算出来是负数怎么办? 答:说明结束日期早于开始日期,多半是两列填反了。先检查顺序;确实需要取绝对值的话,用 =ABS(C2-B2)。
Q3:输入 DATEDIF 时怎么没有参数提示? 答:它是隐藏函数,不弹提示、也不在函数列表里,但功能完全正常。记住语法:DATEDIF(开始日期,结束日期,单位),照着写就行。
避坑指南
参与计算的两列必须是「真日期」:文本格式的假日期相减会报 #VALUE! 错,先用「分列」转成标准日期; 相减得到的是间隔天数,9/1 到 9/15 是 14 天;考勤、租房若要「头尾都算」,记得再 +1; 公式结果会跟着源数据变,归档报表先复制,再右键粘贴为「值」。
写在最后
算天数是最基础的日期运算,学会它,后面的月、年计算就都通了。
💡 觉得有用的话,记得点赞、在看、转发三连,让更多职场同事看到。关注我,每天更新一个实用办公技巧!下一篇教你「Excel怎么计算两个日期相差几年?」,DATEDIF 换个单位就搞定。
如果这篇内容帮到你,欢迎点赞、在看和转发给需要的同事朋友~后续会持续更新实用技巧,记得关注不迷路。