格式化文本“00:00 +星期+date”作为date时间

我有一个文本列包含以下方式的date:

01:00 Friday 18/11/16

…但是,当我格式化列作为date,时间或自定义,现有的单元格不格式化。

我也试过=DATEVALUE(A2)但是它返回一个#VALUE! 错误。

你不能用excelparsing一个非标准格式的date。 此外, DATEVALUE将从该值中删除时间。

你可以做的是分开date和时间,分别parsing和添加它们:

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

如果date和时间的长度是固定的,则可以将FIND分别replace为8和5的长度。

为了从这个单元获得时间:

 =LEFT(A2,5) 

从这个单元格获取date:

 =RIGHT(A2,8) 

要从这个单元获取星期几文本:

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

或者,您可以使用date部分直接查找周日:

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

并得到数字的工作日:

 =WEEKDAY(RIGHT(A2,8))