在 excel 里算两个日期相差的天数,最快的方法就是直接用结束日期减开始日期,比如写公式 =b2-a2;想要更稳妥也可以用 =days(结束日期,开始日期),或者 =datedif(开始日期,结束日期,"d")。下面以微软 excel 桌面版的操作举例,注意先得让 excel 把你输入的日期识别为合法日期,输出结果的单元格格式要提前设成“常规”或者“数值”。
第一步:录入开始和结束日期
先在两列分别录入开始日期和结束日期,表头直接写“开始日期”“结束日期”就行。要是输入的日期靠左对齐、套公式算不出数字,基本说明它现在还是纯文本格式没被识别为日期:选中整列日期,把单元格格式改成“短日期”,或者用顶部“数据”选项卡里的“分列”功能,把文本格式的日期转成真正的日期。这步做对了,后面的公式才不会出错误值。

第二步:用结束日期减开始日期
在结果列的第一个单元格输入 =B2-A2,这里 B2 是结束日期单元格,A2 是开始日期单元格。按回车之后如果结果显示成了另一个莫名其妙的日期,不是你公式写错了,是这个结果单元格默认套用了日期格式,把格式改成“常规”或者“数值”,就能正常显示相差的天数了。

第三步:用 DAYS 函数计算天数
DAYS 函数的语法是 =DAYS(end_date,start_date),第一个参数放结束日期,第二个参数放开始日期。比如结束日期在 B2、开始日期在 A2,就输入 =DAYS(B2,A2);要是两个参数写反了会直接得到负数,比直接相减的情况更容易发现问题。
解析 MySQL 8.0 的 DDL 脚本,并将表结构导出为 Excel 格式。适用于用户需将 MySQL 的 `CREATE TABLE` 语句转换为结构化的 Excel 文件场景,导出内容包含字段名、数据类型、长度及精度等信息。支持多张表的批量处理,每张表对应 Excel 中的一个独立工作表。适用于数据库文档编写、数据字典生成及模式分析等任务。
| 参数 | 填写内容 | 容易错的地方 |
|---|---|---|
end_date |
结束日期 | 放错位置会让结果变成负数 |
start_date |
开始日期 | 文本日期可能导致 #VALUE!
|

第四步:用 DATEDIF 处理固定单位
DATEDIF 的语法是 =DATEDIF(start_date,end_date,unit),按天数计算时第三个参数写 "d",举个例子就是 =DATEDIF(A2,B2,"d")。注意它的参数顺序和 DAYS 不一样:先写开始日期,再写结束日期;如果开始日期比结束日期还晚,就会返回 #NUM! 错误,这时候先检查下两列日期有没有放反。
| unit | 含义 | 示例用途 |
|---|---|---|
"d" |
完整天数 | 计算两个日期相差多少天 |
"m" |
完整月数 | 算工龄、账期相差几个月 |
"y" |
完整年数 | 算年龄或年份差 |

日常只需要算自然天数的话,直接用 =结束日期-开始日期 的写法就够用;想要公式可读性更强,就用 DAYS;后续还要扩展计算相差的整年、整月数这类单位的,再用 DATEDIF 就好。跨行批量计算的时候,先确认第一行的结果是正常数字,再拖动单元格右下角的填充柄向下批量套用就行。

















