excel 日期差先把开始、结束日期放进真实日期单元格,datedif 的 y 算完整年、d 算总天数;如果是时分秒,用带日期的时间相减并设持续时间格式,不把两者混成一个工龄值。本例从 2020/3/15 到 2026/10/29,先核对完整年和自然日,再演示跨午夜的时长。含首尾或扣除周末另定口径,结果不代替工龄认定,勿用有已知限制的 md 凑剩余天数。
第1步:先检查日期值,避免把文本当日期
A2填开始日期 2020/3/15,B2填结束日期 2026/10/29。选中 B2 先核对日期先后顺序,光把单元格外观改成日期格式,没法自动把已有文本转成可计算的日期。碰到内容左对齐或者弹出转换提示,先确认单元格实际值,别直接拿显示出来的字符串做计算。

第2步:完整年用 Y,结果不是四舍五入
在 C2 输入 =DATEDIF(A2,B2,"Y"),本例得到 6,表示已经满的年数,未满一年的部分不进位。开始日期晚于结束日期会返回 #NUM!,先修正日期顺序,不用隐藏错误来掩盖输入问题。

第3步:总天数用 D,先确认是否包含首日
在 D2 输入 =DATEDIF(A2,B2,"D"),本例得到 2419;只求日期之间的天数也可直接用 =B2-A2。结果单元格设常规或数字,不设日期;这不是工作日计数,也没有同时把首尾两天都另加进去,含首日的口径应另行确认。
清理、标准化、验证并汇总杂乱的 Excel 工作簿。当 Codex 需要处理 `.xlsx`、`.xls`、`.xlsm` 或 `.csv` 格式的数据时使用,包括:统一表头格式、删除空白行与空白列、修剪文本内容、去重记录、检测数据质量问题、拆分或合并工作表、生成清洗后的工作簿,以及为业务电子表格生成审计摘要。

第4步:跨午夜时长,改用日期时间相减
另一张示例表中,A2 为 2026/10/28 22:00,B2 为 2026/10/29 06:30,C2 输入 =B2-A2,再按 Ctrl+1 自定义为 [h]:mm,直接出 8:30 的结果。只存时刻而不存日期会丢失跨天信息,不能用 DATEDIF 的整天结果代替小时。
复制公式到其他行后抽查引用、日期顺序及结果格式。需要截至今天的动态统计才使用 TODAY(),固定结算日则保留明确日期,不把未来重算后的数字当成历史结算结果。

















