Excel中DATE()函数返回年份错误的问题解决咨询
问题修复方案
问题原因
Excel的DATE函数对年份参数有自动转换规则:当传入的年份数字在1-199之间时,会自动加上1900。原公式中RIGHT(A1,4)提取的"0201"会被识别为数字201,因此被转换为1900+201=2101,导致返回结果为2101-09-30。
另外,Windows版Excel的有效日期范围是1900年1月1日至9999年12月31日,公元0201年不在这个范围内,无法用Excel的日期值类型存储,只能以文本形式呈现预期的0201-09-30。
修复公式
直接拆分原文本并按格式拼接成字符串,避免使用DATE函数:
=IFERROR(RIGHT(A1,4)&"-"&MID(A1,4,2)&"-"&LEFT(A1,2),"-")
如果需要确保年份、月份、日期的格式始终为4位/2位(比如避免出现"201-9-30"的情况),可以用TEXT函数格式化:
=IFERROR(TEXT(RIGHT(A1,4),"0000")&"-"&TEXT(MID(A1,4,2),"00")&"-"&TEXT(LEFT(A1,2),"00"),"-")
效果说明
使用上述公式后,单元格A1中的30/09/0201会直接被拆分为年"0201"、月"09"、日"30",拼接后得到预期的文本结果0201-09-30。
内容的提问来源于stack exchange,提问作者Parvathi
相关产品推荐
相关产品推荐

