Excel公式将date从dddd mmmm dd,yyyy转换为dd / mm / yyyy

我试图把excel中的一个长date从dddd mmmm dd, yyyy格式转换成dd/mm/yyyy使用公式

例:

转换如下:

 Tuesday August 23, 2016 

至:

 23/08/2016 

我试过使用替代和search没有任何成功,据我所知,没有function,我可以input为一种格式,并撤回它作为另一种格式,我尝试使用=Text(A1, "dd/mm/yyyy")但也不起作用。

有任何想法吗?

所以,使用@Bathsheba的build议,我走了很长的路,但它的工作。

尝试:

=DATEVALUE(CONCATENATE(MID(A1,1+FIND(" ",A1,FIND(" ",A1)+1),2),MID(RIGHT(A1,LEN(A1)-FIND(" ",A1)),1,3),RIGHT(A1,4)))

阐释:

  • MID(A1,1+FIND(" ",A1,FIND(" ",A1)+1),2) – 从A1的string中以dd格式查找date

  • MID(RIGHT(A1,LEN(A1)-FIND(" ",A1)),1,3) – 从A1的string中获取月份的前三个字母

  • RIGHT(A1,4) – 从A1的string中获取年份

然后它将这些值连接成dd mmm yyyy的格式。 DATEVALUE然后将其更改为dd/mm/yyyy的正确格式。 这适用于你格式的所有date。

注意:这个公式所在的单元格应该为短date格式化。

自定义格式的单元格为dd/mm/yyyy并使用此公式:

 =DATEVALUE(RIGHT(A1,LEN(A1)-FIND(" ",A1))) 

或者没有任何额外的格式:

 =TEXT(RIGHT(A1,LEN(A1)-FIND(" ",A1)),"dd/mm/yyyy") 

那么你的date可能需要一点清洁:]

 =Text( Mid( Trim(Clean(A1)), Find(" ", Trim(Clean(A1)) ), 99) * 1, "dd/mm/yyyy") 

更新

我只注意到了vba标签

 [a1].NumberFormat = "dd/mm/yyyy" [a1] = Split([a1], , 2)(1) ' "Tuesday August 23, 2016" to "August 23, 2016"