我尝试使用该函数将两位数年份的日期(例如 20)转换为四位数字年份的标准日期DATE()
。
例如,当日期包含年份“20”(当前年份)时,Excel 会将其解释为“1920”,结果=DATE(20,1,1)
为“1920-01-01”。这是为什么呢?
“区域设置”中如何解释年份的设置设置为“1951 到 2050”,因此 Excel 不应该这样做。
我正在使用 Microsoft Office 365 版本 2004。
答案1
这是 DATE 函数的特定行为,并不参考系统日历设置或 Excel 对日期的一般解释。
年份参数可以是 1 到 4 位数字。具体来说,根据 @patkim 对您帖子的评论:
如果年份介于 0(零)和 1899(含)之间,Excel 会将该值与 1900 相加来计算年份。例如,DATE(108,1,2) 返回 2008 年 1 月 2 日 (1900+108)。
因此,需要将 2 位数字添加到 1900 才能得到年份。
因此,在输入 2 位数字时,不要将 DATE 函数的第一个参数视为年份,而将其视为“自 1900 年以来的年份”可能更有帮助。
如果您使用 DATE 将另一个单元格中的实际日期转换为同一年的新日期,请考虑如下操作:
=DATE(YEAR(A1),1,1)
这也将有助于实现 2020 年:
=DATE(120,1,1)
答案2
这个是正常的。
https://techcommunity.microsoft.com/t5/excel/2-digit-year-when-importing/mp/65676
为确保年份值按您的预期进行解释,请将年份值键入为四位数(例如,2001,而不是 01)。输入四位数年份后,Excel 将不会为您解释世纪。
我发现总体而言使用 4 位数字的年份更好(对我们的客户和我们自己而言),以避免混淆并将 Windows 日期设置保留为默认设置。
答案3
如您所知,至少有两种方法可以输入两位数的年份日期。
如果你输入:
1/1/20
Excel UI 将遵循 Windows 区域设置并显示:
1/1/2020
(或指定格式)但是,如果您使用DATE()
工作表函数并输入:
=DATE(20,1,1)
Windows 区域设置可能不受尊重,并且 UI 将被解释为:
1/1/1920
(我从来没有问过“为什么”这个问题)