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"