Excel中如何将非标准日期字符串转换为指定日期时间格式?
解决Excel非标准日期格式转换问题
别担心,我来一步步帮你把B单元格里的2015-11-01-01.13.34.737000转换成11/01/2015 01:13:34 AM格式,操作很简单,跟着来就行:
第一步:用公式把文本转成Excel可识别的日期时间数值
在空白单元格(比如C1)里输入下面这个公式,按回车就能得到对应的日期时间数值:
=DATEVALUE(MID(B1,6,2)&"/"&MID(B1,9,2)&"/"&LEFT(B1,4)) + TIMEVALUE(MID(B1,12,2)&":"&MID(B1,15,2)&":"&MID(B1,18,2))
我给你拆解下公式的作用,方便你理解:
LEFT(B1,4):提取原始文本里的年份(2015)MID(B1,6,2):提取月份(11)MID(B1,9,2):提取日期(01)- 把这三个部分用
/拼接成11/01/2015,再用DATEVALUE转成Excel的日期数值 MID(B1,12,2):提取小时(01)MID(B1,15,2):提取分钟(13)MID(B1,18,2):提取秒数(34)- 把这三个部分用
:拼接成01:13:34,再用TIMEVALUE转成Excel的时间数值 - 最后把日期和时间数值相加,就得到完整的日期时间数值了
第二步:设置单元格显示格式
得到数值后,还需要调整显示格式才能变成你想要的样子:
- 右键点击这个单元格(比如C1),选择「设置单元格格式」
- 在弹出的窗口里切换到「自定义」选项卡
- 在类型框里输入:
mm/dd/yyyy hh:mm:ss AM/PM - 点击确定,就能看到
11/01/2015 01:13:34 AM的格式啦
如果你的B列有很多这样的日期,直接把C1的公式往下拉就能批量转换,再统一设置格式就行。
内容的提问来源于stack exchange,提问作者TS Guhan




