我尝试使用公式将excel中的长日期格式从dddd mmmm dd, yyyy
格式转换为 dd/mm/yyyy
转换以下内容:
Tuesday August 23, 2016
要:
23/08/2016
我尝试使用替代和搜索但没有任何成功,据我所知,没有功能我可以作为一种格式输入并将其作为另一种格式撤回,我也尝试使用=Text(A1, "dd/mm/yyyy")
但那也不起作用。
有什么想法吗?
答案 0 :(得分:1)
将单元格自定义格式为dd/mm/yyyy
并使用以下公式:
=DATEVALUE(RIGHT(A1,LEN(A1)-FIND(" ",A1)))
或没有任何其他格式:
=TEXT(RIGHT(A1,LEN(A1)-FIND(" ",A1)),"dd/mm/yyyy")
答案 1 :(得分:1)
所以,使用@Bathsheba建议,我走了很长一段路,但它确实有效。
尝试:
=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)
- 从dd
A1
格式的日期
MID(RIGHT(A1,LEN(A1)-FIND(" ",A1)),1,3)
- 从A1
RIGHT(A1,4)
- 从A1
然后获取这些值并将它们连接成dd mmm yyyy
的格式。 DATEVALUE
然后将其更改为dd/mm/yyyy
的正确格式。这适用于您格式的所有日期。
注意:此公式所在的单元格应格式化为短日期。
答案 2 :(得分:1)
那么您的日期可能需要一些清洁:]
=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"