Excel 日期序列号

表格里存日期的其实是数字,整数部分是天数,小数部分是当天的时间。

1900 系统的那个坑

1900 日期系统里序列号 1 是 1900-01-01,往后每天加 1。但 1900 年其实不是闰年,Excel 却保留了序列号 60 对应「1900-02-29」这个不存在的日期,原因是最早的 Lotus 1-2-3 有同样的 bug,微软为了兼容文件格式把它继承了下来。后果是 1900-03-01 之后的所有日期,序列号都比真实天数多了 1,所以本页在算这段时会把多出来的那天减掉。

1904 日期系统是早期 Mac 版 Excel 用的,序列号 0 是 1904-01-01,没有那个假闰日。同一日期的两套序列号相差 1462 天,把 1900 系统的工作簿在 1904 系统的 Excel 里打开,日期会整体错位,所以跨平台时要留意文件用的是哪套系统。

Excel 的日期上限是 9999-12-31,对应 1900 系统的序列号 2958465。在单元格里直接输入数字再设成日期格式,看到的就是这种序列号;反过来把日期改成「常规」格式,也会露出底下的数字。