Excel Date()函数是否会修复以支持1900年之前的年份?
Excel DATE()函数的年份偏移问题
这不是bug,是Excel为兼容早期Lotus 1-2-3软件遗留的设计规则:
- 早年Lotus 1-2-3的日期系统仅支持1900年及以后的日期,会把年份数值当作「相对于1900年的偏移量」处理
- Excel延续了这一逻辑:当
DATE()函数的年份参数小于1900时,会自动加上1900作为最终年份;只有年份≥1900时,才会直接使用输入的年份值
微软不会修复这一行为——修改会破坏大量依赖该规则的旧文档和公式,官方文档未明确提及是因为这属于历史兼容范畴的默认行为。
如果需要处理1900年以前的日期,可使用替代方案:
- 拼接文本后转换为日期值:
--(TEXT(Y&"/"&M&"/"&D,"yyyy-mm-dd")) - 直接以文本格式存储日期,再通过
YEAR()、MONTH()、DAY()等函数提取信息
内容的提问来源于stack exchange,提问作者Dominique
相关产品推荐
相关产品推荐

