应使用=B2-A2、=DATEDIF(A2,B2,"D")、=DAYS(B2,A2)或=NETWORKDAYS(A2,B2)四种方法计算日期差,分别适用于通用天数、精确天数、正向天数及工作日天数场景。

如果您在Excel中需要获取两个日期之间相隔的完整天数,但结果未如预期显示,则可能是由于日期格式错误、单元格格式设置为文本、或公式引用方向不正确。以下是解决此问题的步骤:
一、使用直接相减法计算天数差
Excel将日期存储为序列数值(1900年1月1日为1),因此两个日期相减即得其间隔天数,该方法最简洁且无需函数支持,适用于所有版本Excel。
1、确保开始日期位于A2单元格,结束日期位于B2单元格,且两单元格格式均为“日期”或“常规”(非文本)。
2、在C2单元格中输入公式:=B2-A2。
3、按Enter键确认,C2将显示两日期之间的天数差(若B2早于A2,结果为负数)。
4、如需批量计算,选中C2单元格,将鼠标移至右下角填充柄处,向下拖拽至所需行数。
二、使用DATEDIF函数计算天数差
DATEDIF为隐藏函数,兼容性高且可精确控制单位,第三个参数"D"明确指定返回完整天数,不四舍五入,适合对计算逻辑有明确要求的场景。
1、确认A2为开始日期,B2为结束日期,且日期值有效(非空、非文本字符串)。
2、在C2单元格中输入公式:=DATEDIF(A2,B2,"D")。
3、按Enter键执行,若A2晚于B2,公式将返回#NUM!错误,此时需检查日期顺序。
4、拖拽填充柄复制公式至其他行,Excel自动更新相对引用。
三、使用DAYS函数计算天数差
DAYS函数专为计算天数差设计,语法清晰,且明确区分起止参数顺序(结束日期在前,开始日期在后),可避免因参数颠倒导致的负值误判。
1、在C2单元格中输入公式:=DAYS(B2,A2),注意B2必须为结束日期,A2为开始日期。
2、按Enter键,函数将返回B2与A2之间的正向天数差(若B2早于A2,结果为负数)。
3、若A2或B2为非法日期文本(如“2025-13-01”),函数将返回#VALUE!错误。
4、选中C2,双击填充柄,自动填充下方所有对应行。
四、使用NETWORKDAYS函数计算工作日天数差
当需要排除周末(及可选节假日)仅统计实际工作日时,NETWORKDAYS是唯一适配该需求的内置函数,适用于排期、工期、考勤等业务场景。
1、在C2单元格中输入基础公式:=NETWORKDAYS(A2,B2),其中A2为开始日期,B2为结束日期。
2、按Enter键,结果将自动剔除周六、周日,仅返回工作日数量(含首尾日,若当日为工作日)。
3、如需排除法定节假日,在公式中添加第三个参数,例如:假设节假日列表位于Sheet2的E1:E10,则公式为=NETWORKDAYS(A2,B2,Sheet2!E1:E10)。
4、拖拽填充柄扩展计算范围,节假日区域引用保持绝对(如使用$E$1:$E$10可避免拖拽偏移)。










