如何将一列中的两种日期格式更改为 excel 中的一种?

How to change two types of date format in a column to single one in excel?

我有一个 excel 文件,其中日期列中存在两种类型的日期格式。喜欢:

1/31/10
02/01/2010

我想要一种独特的格式,例如 - MM/dd/yyyy (02/01/2010)。如何实现? 到目前为止,由于第一种格式 (1/31/10) 不支持,因此无法通过使用 DateValue(cellID) 函数来完成,并且格式化整个列也失败了。

首先将此用户定义函数放入标准模块中:

Option Explicit
Public Function zDate(rng As Range) As Date
    Dim arr, yr As String
    arr = Split(rng.Text, "/")
    If Len(arr(2)) = 2 Then
        yr = "20" & arr(2)
    Else
        yr = arr(2)
    End If

    zDate = DateSerial(CLng(yr), CLng(arr(0)), CLng(arr(1)))
End Function

数据在 A 列(假设在 month/day/year 顺序),在 B1 输入:

=zdate(A1)

然后将所需格式应用于列 B: