Excel 日期为什么是一个数字:两种日期起点和日期范围
在 Excel 里看到“2026-11-02”,文件里保存的可能只是数字 46328 左右。理解这个数字、两种日期起点和日期范围,能解释大部分“日期筛不出来”的问题。
最后更新:2026-11-02
Excel 日期是一串数字
Excel 把日期存成从某个起点开始的天数。1900 起点里,数字 1 是 1900-01-01;1904 起点里,数字 0 是 1904-01-01。 1900 的规则还保留了一个历史上的闰年错误:数字 60 对应一个并不存在的 1900-02-29。 文件用哪套起点由文件本身决定,和浏览器无关。
轻松查表读取文件里的日期起点,把日期数字转换成本地日历时间用于筛选;不改变原文件的显示格式。 带时间的日期会保留时分秒;不带时区的日期按本地日历处理,不换算时区。
日期范围的边界
- 只填日期时,开始日期从当天 0 点算起,结束日期算到当天最后一刻。
- 填写了时间时,按输入的具体时刻比较。
- 范围包含边界。列类型是日期时,不是日期的单元格不参与范围匹配,列提示会显示“有 N 行无法识别”。
这样处理是为了让“2026-11-01 到 2026-11-02”包含 11 月 2 日全天的记录,而不是只到 11 月 2 日零点。
CSV 里的日期
CSV 没有日期起点,也没有单元格格式。工具能识别 2024-01-31、2024/01/31
这类写法; 带时区的时间会先转换成本地时间再筛选。其他格式按文字处理,可以手动把列类型改成日期。
如果 CSV 里写的是 11/02/2026 这类有歧义的格式,工具不会猜它是 11 月 2 日还是 2 月
11 日,而是按文字处理。 需要按日期筛选时,先在源系统导出为 2024-01-31 这种格式。
常见问题
为什么日期列被识别成文字?
工具会抽取一部分非空单元格判断;八成以上能识别为日期时,才按日期处理。混合了“未填写”“待定”等文字时,可能仍按文字处理。 可以在列类型里手动改为日期;无法识别的行不会参与范围匹配,并会单独计数。
为什么结束日期当天的记录没出来?
检查源文件里的值是否带时间,以及结束日期是否只填了日期。只填日期时工具会算到当天最后一刻;如果源值是文字而不是日期,需要先把列类型改成日期。
1900 和 1904 会差几天?
同一个数字在两种起点下相差 1,462 天。工具按文件里的日期起点处理,不需要手动换算;如果文件本身是从其他系统转换来的,日期可能已经偏移,需要在源文件里核对。