Excel中如何将常规格式年份转换为仅显示年份的日期格式?
解决Excel中年份数据转日期格式(仅显示年份)的问题
核心问题分析
你列中的常规格式年份(比如单元格内容为2023)本质是纯数字,并非日期类型值。直接修改单元格格式、用yyyy自定义格式或YEAR()函数无效的原因在于:YEAR()需要接收日期类型输入,纯数字会被Excel当作1900年1月1日之后的天数计算,自然得不到预期结果。
可行解决方案
方法1:先转合法日期,再设置自定义格式
- 插入辅助列(比如B列),在B1单元格输入公式:
=DATE(A1,1,1)- 该公式会将A列的年份数字转换为对应年份的1月1日(标准日期值)
- 选中辅助列,右键选择「设置单元格格式」
- 在「数字」选项卡切换到「自定义」,类型栏输入
yyyy后确定 - 此时辅助列仅显示年份,且本质为日期格式,可正常进行日期相关运算
方法2:直接修改原始列(无需辅助列)
- 选中目标年份列,右键「设置单元格格式」,先将格式改为「文本」(避免后续操作中数字被自动转换)
- 使用「数据」选项卡的「分列」功能批量转换:
- 选择「分隔符号」,点击下一步
- 取消所有分隔符选项,点击下一步
- 列数据格式选择「日期」,类型选「YMD」,完成
- 再选中该列,设置自定义格式为
yyyy即可
方法3:Power Query批量转换(Excel 2016+)
- 选中年份列,点击「数据」选项卡的「从表格/区域」
- 在Power Query编辑器中,选中目标列,点击「转换」→「数据类型」→「日期」,系统会自动将纯数字年份转为对应年份的1月1日
- 点击「转换」→「格式」→「自定义格式」,输入
yyyy - 点击「关闭并上载」,替换原数据或生成新表
注意事项
- 若年份为两位数(比如
99代表1999),使用DATE()函数时需调整:=DATE(IF(A1<100,1900+A1,A1),1,1) - 不要直接给纯数字单元格设置日期格式,Excel会将数字视为1900年1月1日之后的天数,比如
2023会被转为1905年7月左右的日期,这就是你之前操作无效的核心原因
内容的提问来源于stack exchange,提问作者Pebri Alkautsar
相关产品推荐
相关产品推荐

