如何将输入为 dd-mm-yy 或 dd-mm-yyyy 的日期转换为 Excel 日期

如何将输入为 dd-mm-yy 或 dd-mm-yyyy 的日期转换为 Excel 日期

我有一张表格,其中日期列输入为 dd/mm/yyyy,例如 15/12/2014,但是 excel 不将其视为日期,因此我无法将任何日期函数应用于此列。

有没有办法将其转换为 excel 日期 (mm/dd/yyyy),而无需使用繁琐的子字符串 left$,mid$) 方法。提前致谢。

答案1

Excel 将查看您的区域设置并查看日期的格式,只有匹配时,它才会自动将您的单元格格式化为日期。

因此,如果您已将区域设置设为使用 dd-mm-yyyy 格式的日期(请注意 -),则使用 / 的输出将被忽略。

此外,单元格的日期前面可能有一个 '。此字符基本上会指示单元格始终为字符串。这是 Excel 在导入过程中可以执行的操作。

我要做的第一件事是将区域设置更改为美国日期,以便它具有 / 并尝试再次加载电子表格。选择整个列,选择右键单击->设置单元格格式,然后将其设置为日期现在应该可以工作了。

一旦成功将其转换为日期并且保存了工作表,您就可以改回区域设置。

答案2

我设计了以下 VBA 代码并运行它,但仍在寻找更简单的解决方法:

Function ConvertddmmyyDate(instring As String) As Date
    On Error GoTo err
    Dim dateArray() As String
    dateArray = Split(instring, "/")
    Dim dt As Date
    Dim day As Integer
    Dim month As Integer
    Dim year As Integer
    day = Int(dateArray(0))
    month = Int(dateArray(1))
    year = Int(dateArray(2))
    If year < 100 Then 'For yy formats
        year = year + 2000
    End If
    dt = DateSerial(year, month, day)
    ConvertddmmyyDate = dt
    Exit Function
    err:
    ConvertddmmyyDate = "01/01/1900"
 End Function

相关内容