Excel 2010日期格式标准化:提取日期并调整日/月顺序
解决Excel 2010中日期格式标准化的问题
嗨,我刚好碰到过类似的需求,给你几个在Excel 2010里能用的方案,应该能解决你的问题:
方案1:公式一步到位(推荐)
你已经用公式去掉了时间部分,其实可以直接把处理后的文本转成Excel可识别的日期,再格式化到目标样式。试试这个公式:
=TEXT(DATEVALUE(LEFT(E1,LEN(E1)-11)),"dd/mm/yyyy")
LEFT(E1,LEN(E1)-11):就是你已经在用的,提取出Oct 4, 2013这样的日期部分DATEVALUE():把英文格式的日期文本转换成Excel能识别的日期序列号(这一步是关键,Excel会自动解析月份缩写)TEXT():把日期序列号格式化成dd/mm/yyyy(也就是04/10/2013)的样式
如果你的区域设置导致DATEVALUE()识别失败,就试试下面这个更稳妥的拆分组合公式:
=TEXT( DATE( RIGHT(E1,4), MONTH(DATEVALUE(LEFT(E1,3)&" 1")), MID(E1,FIND(" ",E1)+1,FIND(",",E1)-FIND(" ",E1)-1) ), "dd/mm/yyyy" )
这个公式是手动拆分出年、月、日再组合:
RIGHT(E1,4):提取年份(2013)MONTH(DATEVALUE(LEFT(E1,3)&" 1")):把月份缩写(Oct)转成数字(10)MID(...):提取日期数字(4)
方案2:分列批量处理(适合大量数据)
如果你的数据量很大,用分列功能会更高效,不用写公式:
- 选中需要处理的日期列
- 点击菜单栏的「数据」→「分列」
- 第一步选「分隔符号」,点击下一步
- 分隔符号勾选「空格」和「逗号」,点击下一步
- 这一步很重要:找到包含月份、日期、年份的列(比如第1、2、4列),在「列数据格式」里选「日期」,然后来源格式选「MDY」(因为你的原始格式是月-日-年)
- 点击完成,这时候所有文本都会变成Excel可识别的日期格式
- 最后右键单元格→「设置单元格格式」→「数字」→「自定义」,输入
dd/mm/yyyy,就能显示成04/10/2013的样式
额外提示
只要把文本转成Excel可识别的日期(也就是日期序列号),之后你可以随时通过单元格格式调整显示样式,比如改成d mmm yyyy就能显示成4 Oct 2013。
内容的提问来源于stack exchange,提问作者JustReflektor
相关产品推荐
相关产品推荐

