我有一个Excel文件,其中日期列中存在两种类型的日期格式。喜欢:
1/31/10
02/01/2010
我想要一个唯一的格式,例如-MM / dd / yyyy(02/01/2010)。如何实现呢? 到目前为止,由于第一种格式(1/31/10)不支持,因此无法使用DateValue(cellID)函数执行,并且由于格式化整个列而失败。
答案 0 :(得分:2)
首先将此用户定义函数放在标准模块中:
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 列(假定为按月/日/年顺序)中的 B1 中,输入:
=zdate(A1)
,然后将所需的格式应用于 B 列: