首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Excel中转换日期

在Excel中转换日期
EN

Stack Overflow用户
提问于 2017-09-25 14:17:07
回答 1查看 91关注 0票数 0

我在Excel中有以下日期:

代码语言:javascript
复制
> 20. Mrz 06
> 20. Mrz 07
> 20. Mrz 08
> 20. Mrz 09
> 20. Mrz 10
> 20. Mrz 11
> 20. Mrz 12
> 20. Mrz 13
> 20. Mrz 14
> 21. Mrz 06
> 21. Mrz 07
> 21. Mrz 08
> 21. Mrz 09
> 21. Mrz 10
> 21. Mrz 11
> 21. Mrz 12
> 21. Mrz 13
> 21. Mrz 14
> ...

and would like to convert it into the following:

> 20-03-06 
> 20-03-07 
> 20-03-08 
> 20-03-09 
> 20-03-10 
> 20-03-11 
> 20-03-12 
> 20-03-13 
> 20-03-14 
> 20-03-15 

不巧的是,它不只是通过excel数字格式转换日期。在VBA里有办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-25 14:59:33

由于您有字符串,而不是日期,而且字符串不遵循任何标准(包含月份名称,可能是德语),您可以尝试UDF:

代码语言:javascript
复制
Function StrtoDate(s As String) As Date
    Dim MonthNames
    MonthNames = Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")

    Dim parts() As String
    parts = Split(s, " ")
    If UBound(parts) <> 2 Then Exit Function

    Dim d As Integer, m As Integer, y As Integer
    d = Val(parts(0))
    m = Application.Match(parts(1), MonthNames, False)
    y = Val(parts(2))
    If y < 100 Then y = y + 2000
    StrtoDate = DateSerial(y, m, d)
End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46407433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档