Excel 将文本日期转换为格式
我有一个文本格式的日期,如下所示:Excel 将文本日期转换为格式,excel,date,text,format,Excel,Date,Text,Format,我有一个文本格式的日期,如下所示: June 12th 2017, 9:07am PDT 如何将其转换为日期格式(经典的格式化单元格和DateValue()方法不起作用) 谢谢。我的解决方案使用一个助手表,列出所有12个月及其序列号A1:B12 January 1 February 2 March 3 April 4 May 5 June 6 July 7 August 8 September 9
June 12th 2017, 9:07am PDT
如何将其转换为日期格式(经典的格式化单元格和DateValue()方法不起作用)
谢谢。我的解决方案使用一个助手表,列出所有12个月及其序列号
A1:B12
January 1
February 2
March 3
April 4
May 5
June 6
July 7
August 8
September 9
October 10
November 11
December 12
假设该值位于D10
获取单独的元素
月份:
=VLOOKUP(LEFT(D10,FIND(" ",D10)-1),A1:B12,2,FALSE)
日期:
年份:
=RIGHT(LEFT(D10,FIND(",",D10)-1),4)
时间:
分钟:
=RIGHT(LEFT(D10,FIND(":",D10)+2),2)
所有这些结合在日期
和时间
函数中,得到一个公式:
=DATE(RIGHT(LEFT(D10,FIND(",",D10)-1),4),VLOOKUP(LEFT(D10,FIND(" ",D10)-1),A1:B12,2,FALSE),IFERROR(VALUE(RIGHT(LEFT(D10,FIND(" ",D10)+2),2)),RIGHT(LEFT(D10,FIND(" ",D10)+1),1)))+TIME(IF(RIGHT(LEFT(D10,FIND(":",D10)+4),2)="am",RIGHT(LEFT(D10,FIND(":",D10)-1),2),RIGHT(LEFT(D10,FIND(":",D10)-1),2)+12),RIGHT(LEFT(D10,FIND(":",D10)+2),2),0)
然后将单元格的格式更改为:
mmmm dd yyyy hh:mm AM/PM "PDT"
这将提供:
June 12 2017 09:07 AM PDT
要添加逗号(,),请使用自定义格式:
mmmm dd yyyy"," hh:mm AM/PM "PDT"
这个伟大的尼特斯!非常感谢你!然而,我不明白为什么在某些日期它不起作用(例如,“2017年6月8日,太平洋时间上午9:18”)。有什么想法吗?再次感谢你!这是因为它返回了
8t
作为一天。我已更新公式,以检查1位天数@非常感谢你,但我很抱歉,因为现在小时和分钟不起作用:它只提供凌晨12点。但是你写的函数时间是自己工作的。它与日期一起使用时不起作用。这就是我是否保留你公式中的“+时间”没有任何区别。@Mic My bad,错过了+时间之前的一个括号。现在检查。它可以工作了!!非常感谢你!!我不可能解决这个问题!
June 12 2017 09:07 AM PDT
mmmm dd yyyy"," hh:mm AM/PM "PDT"