Excel日期格式单元格公式异常:返回1/14/1900而非指定年份的解决方法
解决Excel日期格式下年份显示异常的问题
问题原因
你当前使用的TEXT(TODAY(),"yyyy")返回的是文本格式的年份(比如"2024"),直接加1后文本会被转换为纯数字。由于B2设置为日期格式,Excel会把这个数字当作日期序列号(Excel以1900/1/1为起始日,数字1对应1900/1/1,2024就对应1900/1/14),因此出现错误显示。
解决方案
方法一:用DATE函数构建合法日期(推荐)
直接用DATE函数生成包含目标年份的日期值,再设置单元格仅显示年份:
=IF(A2="JANUARY",DATE(YEAR(TODAY())+1,1,1),DATE(YEAR(TODAY()),1,1))
设置B2的单元格格式:选择「自定义」,输入yyyy,确定后就会只显示年份数值,同时单元格保持日期格式属性。
方法二:将文本年份转为日期值
如果偏好基于TEXT函数的写法,可先拼接成完整日期文本,再转成日期值:
=DATEVALUE(IF(A2="JANUARY",TEXT(YEAR(TODAY())+1,"yyyy")&"-01-01",TEXT(YEAR(TODAY()),"yyyy")&"-01-01"))
同样将单元格格式设置为yyyy即可正常显示年份。
关键提示
必须保证B2单元格内是真实的日期值,而非文本转成的数字,这样日期格式才能正确识别并显示你需要的年份。
内容的提问来源于stack exchange,提问作者Alejandro Caro
相关产品推荐
相关产品推荐

