如何在Excel中将d / m / yyyy h:mm:ss转换为yyyyMMdd

我想在Excel中将d / m / yyyydd / m / yyyyd / mm / yyyy转换yyyyMMdd格式。 原始值看起来像3/3/2014上午8:00:00

如果所有的date都是相同的长度,我可以做左,中,以此类推反转date和截断时间。 但是,如果我有三种不同长度的date,我怎么能做到这一点?

这适用于固定长度: =DATE(MID(A1;7;4); LEFT(A1;2); MID(A1;4;2))

A1中的数据B1中input:

= TEXT(DATEVALUE(MID(A1,1,FIND(“”,A1)-1)),“yyyymmdd”)

在这里输入图像说明

注意:

input中的月份和date必须按DATEVALUE()函数的正确顺序排列。

对于如下数据:

25/12/2014上午8:00:00

我会使用下面的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”