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年的处理不正确。

引用

有关确定给定年份是否为闰年的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

  214019 XL2000:用于确定某年是否为闰年的方法