【问题标题】:How to convert from 2-2-21 08:15 AM to yyyy-mm-dd HH:MM in Google Sheets?如何在 Google 表格中从 2-2-21 08:15 AM 转换为 yyyy-mm-dd HH:MM?
【发布时间】:2021-02-04 21:03:53
【问题描述】:

我有很多格式奇怪的日期。例如:

2-2-21 08:15 AM
1-29-21 8:01 AM
1-26-21 3:00 PM
1-26-21 8:00 AM
12-26-20 3:10 AM
12-15-20 8:00 AM

我可以在 Google 表格中将它们转换为 yyyy-mm-dd HH:MM 吗?

【问题讨论】:

    标签: date google-sheets datetime-format


    【解决方案1】:

    使用:

    =ARRAYFORMULA(IF(A1:A="",,TEXT(DATE(
     IFERROR(20&REGEXEXTRACT(A1:A, "-(\d+) "), YEAR(A1:A))*1, 
     IFERROR(   REGEXEXTRACT(A1:A, "\d+"),    MONTH(A1:A))*1,
     IFERROR(   REGEXEXTRACT(A1:A, "-(\d+)"),   DAY(A1:A))*1)+
     IFERROR(TIMEVALUE(A1:A), REGEXEXTRACT(A1:A, "\d+:\d+")+
     IF(REGEXMATCH(A1:A, "PM"), 0.5, 0)), "yyyy-mm-dd hh:mm")))
    

    【讨论】:

    • 哇,集中在一个单元格中!谢谢!但是下午 3:00 应该是 15:00。我怎样才能做到这一点?
    • 非常感谢!我还改进了它以转换为 Unix 时间戳,因为我需要它。这是针对 unix 时间戳 =DATEVALUE(ARRAYFORMULA(IF(K135="",,DATE( IFERROR(20&REGEXEXTRACT(K135, "-(\d+) "), YEAR(K135))*1, IFERROR( REGEXEXTRACT(K135, " \d+"), MONTH(K135))*1, IFERROR( REGEXEXTRACT(K135, "-(\d+)"), DAY(K135))*1)))) +IFERROR(TIMEVALUE(K135), REGEXEXTRACT(K135) , "\d+:\d+")+ IF(REGEXMATCH(K135, "PM"), 0.5, 0))
    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多