算两个日期差几天,最省事的方法就是直接相减,碰到带时分秒的单元格,多做一步格式判断和取整就行。excel里最基础的写法是 `=结束日期-开始日期`,要算精准的完整天数也可以用 `datedif` 函数。
第1步:直接相减
把开始日期填在 A2,结束日期填在 B2,要出结果的格子里直接输 `=B2-A2`。只要单元格格式是“常规”,结果会自动跳出天数;要是算完反而显示成了一串日期,把结果单元格的格式改成数字就行。

这个方法最适合不带时分秒的纯日期,比如 2026-08-01 到 2026-08-12,结果就是 11 天。
第2步:用DATEDIF算完整天数
要是想把起止日期、计算单位标得明明白白,直接输公式 `=DATEDIF(A2,B2,"d")` 就行。参数里 A2 是开始日期,B2 是结束日期,`"d"` 代表返回的结果按天算。

DATEDIF 很适合做固定计算模板,也方便后续扩展其他维度的计算:把参数里的 `"d"` 换成 `"m"` 就能算相差月数,换成 `"y"` 就能算相差年数。
第3步:处理带时间的跨天情况
要是单元格里的日期带时分秒,得先留意差值有没有跨过零点。带时间的日期直接相减,结果会按1天的占比输出小数,通用的处理方法是套个 `=INT(B2-A2)` 取整,也可以先把时分秒去掉、单独提取日期部分再计算。

举个例子,2026-08-12 18:00 到 2026-08-13 09:00,直接相减得到的是 0.625 天,取整之后结果是 0 天。如果要算跨日的自然天数,得先提前明确规则:是算满24小时才算1天,还是只要跨了零点就算差1天。
第4步:先排查格式和报错
要是算出来结果不对,先检查两个地方:一是日期单元格是不是文本格式,二是有没有把起止日期的位置写反。开始日期比结束日期晚的话,普通相减会出负数;如果单元格直接显示 `#VALUE!` 报错,基本都是日期被识别成纯文本了。

把日期转成标准日期格式之后,重新算一次就正常了。要是想输出“差多少天零多少小时”的结果,可以先用 DATEDIF 算出整数天数,剩下的小数部分乘以 24 就能得到剩余小时数。











