Excel 错误地假定 1900 年是闰年

症状

Microsoft Excel 错误地假定 1900 年是闰年。 本文解释了为什么将 1900 年视为闰年,并概述了更正此特定问题时可能发生的行为。

更多信息

当 Lotus 1-2-3 首次发布时,该计划假定 1900 年是闰年,尽管它实际上不是闰年。 这使得程序更容易处理闰年,并且不会对 Lotus 1-2-3 中的几乎所有日期计算造成伤害。

当 Microsoft Multiplan 和 Microsoft Excel 发布时,他们还认为 1900 年是闰年。 此假设允许 Microsoft Multiplan 和 Microsoft Excel 使用 Lotus 1-2-3 使用的相同串行日期系统,并提供与 Lotus 1-2-3 的更大兼容性。 将 1900 视为闰年也使用户能够更轻松地将工作表从一个程序移动到另一个程序。

尽管在技术上可以纠正此行为,以便当前版本的 Microsoft Excel 不会假定 1900 是闰年,但这样做的缺点大于优点。

如果要更正此行为,将会出现许多问题,包括:

  • 当前 Microsoft Excel 工作表和其他文档中几乎所有日期都会减少一天。 更正此转换需要花费大量时间和精力,尤其是在使用日期的公式中。
  • 某些函数(如 WEEKDAY 函数)将返回不同的值:这可能会导致工作表中的公式无法正常工作。
  • 更正此行为会破坏 Microsoft Excel 与使用日期的其他程序之间的串行日期兼容性。

如果行为未得到更正,则只会出现一个问题:

  • WEEKDAY 函数为 1900 年 3 月 1 日之前的日期返回不正确的值。 由于大多数用户不使用 1900 年 3 月 1 日之前的日期,因此此问题很少出现。

注意:Microsoft Excel 正确处理所有其他闰年,包括非闰年 (例如 2100) 。 仅错误地处理了 1900 年。

References

有关确定给定年份是否为闰年的详细信息,请参阅 确定一年是否为闰年的方法