如何在Excel和Power Query中将4位数字正确识别为年份格式
问题根源
Excel和Power Query默认将数字转日期时,会把数字当作1900年1月1日以来的天数计算,1960天对应的就是1905年左右,这就是你看到错误的核心原因,并非文本/数值格式的问题,是转换逻辑不匹配。
Excel端解决方案
- 方法1:DATE函数转换法
直接用内置日期函数把四位年份拼接为标准日期,公式如下,假设年份存储在A1单元格:
回车后会得到=DATE(A1,1,1)1960/1/1格式的标准日期,后续自定义单元格格式为yyyy,就会仅显示四位年份,且可以正常参与所有日期类计算。 - 方法2:文本拼接转换法
如果习惯用拼接方法,正确操作是在拼接后转成日期序列,公式如下:
开头的两个减号用于把文本格式的=--(A1&"-1-1")1960-1-1转换为数值型日期序列,后续设置yyyy格式即可正常显示年份。
Power Query端解决方案
- 方法1:自定义列转换
打开Power Query编辑器后,点击「添加列」-「自定义列」,输入以下公式,替换为你的实际年份列名:
确认后生成的新列就是标准日期类型,可直接设置为仅显示年份,也可参与日期维度的聚合计算。= #date([年份列名],1,1) - 方法2:直接转换现有列
不需要新增列的前提下,选中年份列,点击顶部「转换」选项卡 -「日期」-「年」-「到日期」,即可自动把四位年份转换为对应年份1月1日的标准日期。
内容的提问来源于stack exchange,提问作者A Tammour
相关产品推荐
相关产品推荐

