如何在Excel表格中从多格式日期列提取仅保留年份
如何在Excel表格中从多格式日期列提取仅保留年份
嘿,我来给你几个亲测有效的方法,帮你从这些五花八门的日期格式里精准抠出年份,不管是带日的、只有月年的都能搞定~
方法1:TEXT函数——懒人首选(适配绝大多数文本日期)
- 直接在空白单元格里输入公式:
=TEXT(A1,"yyyy") - 把A1替换成你存放日期的目标单元格,然后下拉填充整列就完成啦!
- 亲测这个函数能完美识别你列出的所有格式:不管是
13 march 1939、October 1920还是December 10 1915,都能准确返回对应的4位年份。哪怕单元格里的内容是纯文本而非Excel标准日期格式,它也能轻松处理。
方法2:YEAR+DATEVALUE组合——精准识别标准日期(带错误兜底)
- 如果你的日期已经能被Excel识别为标准日期(或可转换为日期的文本),用这个组合公式更稳妥:
=YEAR(DATEVALUE(A1)) - 要是担心遇到个别Excel识别不了的特殊格式导致报错,给公式加个错误捕获就万无一失了:
=IFERROR(YEAR(DATEVALUE(A1)),TEXT(A1,"yyyy")) - 这个公式会先尝试把文本日期转换为Excel可识别的日期序列号,再提取年份;如果转换失败,就自动切换到TEXT函数模式提取,双重保障不翻车!
方法3:Power Query——批量处理大救星
- 要是你要处理的数据量特别大,或者以后还会频繁遇到类似的多格式日期提取需求,强烈推荐用Power Query批量处理:
- 选中你的日期数据列,点击顶部菜单栏的「数据」选项卡,选择「从表格/区域」(弹出的对话框记得勾选「我的表格有标题」)
- 进入Power Query编辑器后,选中日期列,点击「转换」选项卡→「日期」→「年份」→「年份」
- 最后点击「关闭并上载」,就能得到一列干净的年份数据啦!后续如果数据更新,还能直接刷新结果,省时又省力。
备注:内容来源于stack exchange,提问作者Grampsy1




