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 天。工具按文件里的日期起点处理,不需要手动换算;如果文件本身是从其他系统转换来的,日期可能已经偏移,需要在源文件里核对。

日期筛选按本地日历时间比较,不改变源文件里的日期值。结果表里的显示文字优先使用 Excel 里保存的格式;没有格式时才按浏览器当前语言显示。

打开查表工具 Excel 筛选教程