将文本“00:00 +周日+日期”格式化为日期时间

时间:2016-11-28 18:18:53

标签: excel datetime

我有一个文本列,其中包含以下方式的日期:

01:00 Friday 18/11/16

...但是,当我将列格式化为日期,时间或自定义时,现有单元格不会格式化。

我也尝试了=DATEVALUE(A2),但它返回了#VALUE!错误。

2 个答案:

答案 0 :(得分:2)

要从此单元格获取时间:

=LEFT(A2,5)

要从此单元格中获取日期:

=RIGHT(A2,8)

要从此单元格中获取工作日文字:

=RIGHT(LEFT(A2;LEN(A2)-9);LEN(LEFT(A2;LEN(A2)-9))-6)

或者,您可以使用日期部分直接查找工作日:

=TEXT(RIGHT(A2,8), "ddd")
OR
=TEXT(RIGHT(A2,8), "dddd")

要获得工作日的数字:

=WEEKDAY(RIGHT(A2,8))

答案 1 :(得分:1)

您无法使用ask excel来解析非标准格式的日期。此外,DATEVALUE会减少值的时间。

您可以做的是分开日期和时间,分别解析并添加它们:

=DATEVALUE(RIGHT(A1, LEN(A1)-FIND(" ", A1, FIND(" ", A1)+1))) + 
 TIMEVALUE(MID(A1, 1, FIND(" ", A1)-1))

如果日期和时间有固定的长度,您可以将FIND替换为各自的长度8和5。