我想将 d / m / yyyy 或 dd / m / yyyy 或 d / mm / yyyy 转换为 yyyyMMdd 格式在Excel中。原始值看起来像 3/3/2014 8:00:00 am 。
如果所有日期都是相同的长度我可以做左,中等,以反转日期并截断时间。但是,当我有三种不同长度的日期时,我怎么能这样做呢?
这适用于固定长度:=DATE(MID(A1;7;4); LEFT(A1;2); MID(A1;4;2))
答案 0 :(得分:1)
B1 中的 A1 中的数据输入:
= TEXT(DATEVALUE(MID(A1,1,FIND("",A1)-1))," yyyymmdd")
注意:强>
输入中的月份和日期必须与 DATEVALUE()函数的顺序正确。
对于以下数据:
25/12/2014 8:00:00 am
我会使用以下 UDF
Public Function INeedADate(s As String) As Date
ary = Split(Trim(s), " ")
bry = Split(Trim(ary(0)), "/")
INeedADate = DateSerial(bry(2), bry(1), bry(0))
End Function
在这种情况下,单元格 B1 必须格式化为自定义 > " yyyymmdd"