推荐新手用DAYS函数(=DAYS(结束日期,开始日期)),顺序错误会得负数;已有日期列可用减法公式(=结束-开始),结果需设为数值格式;算年月日用DATEDIF函数,其中“y”“ym”参数分段计算,天数用=E2-DATE(YEAR(E2),MONTH(E2),1)避免“md”偏差。

要快速得出两个日期之间相隔多少天,比如员工入职到今天过了几天、合同起止间隔多少自然日、项目周期总天数,直接用Excel内置函数就能秒算,不需要手动翻日历或逐月加减。
用DAYS函数直接算天数(推荐新手)
在空白单元格中输入公式:=DAYS(结束日期,开始日期),例如结束日期在E2、开始日期在D2,就写=DAYS(E2,D2)。
这个函数只认两个参数:第一个是结束日期,第二个是开始日期。顺序不能反,否则结果会是负数——如果看到负值,说明你把早的日期填在了第一个位置。
它自动处理日期格式,哪怕D2和E2里是“2025/3/12”或“2026-5-30”这样的文本型日期,也能正确解析成数字再相减。
用减法公式最简捷(适合已有日期列)
选中结果单元格,直接输入:=结束日期单元格-开始日期单元格,例如=E2-D2。
这一步操作起来很简单,直接敲等号→点结束日期→减号→点开始日期→回车。
通过可复用的 DuckDB 优先 ETL 执行器运行 Excel/CSV/XLSX 分析,同时保留脚本优先架构。适用于系统需要通用可导出执行器来完成标准表电子表格分析、安全只读 SQL 执行、多表注册、查询模板、验证产物、script_usage.md 使用说明、运行清单,以及调度友好的可重复输出等场景。DuckDB 为首选执行引擎;其他工具仅用于文件探测、Excel 标准化或有明确文档记录的降级场景。
Excel底层把日期存为序列号(如2026年5月30日是46078),相减本质就是数字运算,所以结果天然就是天数。但要注意:结果单元格必须设为“常规”或“数值”格式,如果显示成日期(如1900/1/5),说明格式错了,右键→设置单元格格式→选“数值”即可。
用DATEDIF函数分段算年月日(适合做年龄或服务时长)
第一步:算整年数 → 在F2输入 =DATEDIF(D2,E2,"y"),D2为出生日或入职日,E2为截止日(如TODAY())。
第二步:算剩余整月数 → 在G2输入 =DATEDIF(D2,E2,"ym"),它自动跳过已满的年份,只算最后不满一年的月份数。
第三步:算剩余天数 → 在H2输入 =E2-DATE(YEAR(E2),MONTH(E2),1),这个公式取结束日所在月的第一天(如2026/5/1),再用原结束日去减,得到当月第几天——也就是最终的“零头天数”。
注意:“md”参数存在计算偏差风险,【官方明确不推荐使用】,务必改用DATE组合方式算天数。

















