如何让Excel自动将CSV中的文本格式日期转为可识别日期?
Excel非标准日期文本转可识别日期的自动方法
一、公式转换法
根据原始日期文本的格式,用Excel函数直接生成可识别的日期:
若原始格式为
YYYY年MM月DD日(如"2023年10月05日"),用DATE函数提取年、月、日组合:=DATE(LEFT(A1,4), MID(A1,6,2), RIGHT(A1,2))公式说明:
LEFT(A1,4)提取前4位年份,MID(A1,6,2)提取第6位开始的2位月份,RIGHT(A1,2)提取最后2位日期,DATE函数将三者组合为Excel可识别的日期值。若原始文本含多余前缀/后缀(如"记录日期:2023/10/05"),先清理字符再转日期:
=DATEVALUE(SUBSTITUTE(SUBSTITUTE(A1,"记录日期:",""), "/", "-"))先用
SUBSTITUTE移除多余字符、统一分隔符,再用DATEVALUE将标准格式文本转为日期值。
二、文本分列批量转换
适合整列批量处理,无需编写公式:
- 选中需要转换的日期列
- 点击「数据」选项卡 → 「分列」
- 第一步选择「分隔符号」,点击下一步
- 第二步添加原始日期的分隔符(如"年""月""日",依次添加并勾选),点击下一步
- 第三步在「列数据格式」中选择「日期」,并匹配源日期的顺序(如YMD),点击完成
完成后整列文本会直接转为Excel可识别的日期。
三、Power Query高效处理(大数据量首选)
针对CSV导入的大量数据,用Power Query批量清洗转换:
- 选中数据区域 → 「数据」选项卡 → 「从表格/区域」(勾选「我的表格有标题」)
- 在Power Query编辑器中选中日期列:
- 若可直接转日期:点击「转换」→「数据类型」→「日期」
- 若含多余字符:先点击「转换」→「替换值」,依次移除"年""月""日"等无关字符,再转数据类型为日期
- 转换完成后,点击「关闭并上载」,即可得到可识别的日期列。
四、注意:自定义格式≠转换数据类型
如果原始内容本身是日期值但显示格式不对,只需选中列→右键「设置单元格格式」→「数字」→「日期」,选择B列的格式即可。但如果原始是纯文本,必须先通过上述方法将文本转为日期值,再设置格式。
内容的提问来源于stack exchange,提问作者Reck
相关产品推荐
相关产品推荐

