【问题标题】:How to convert a text string in Google Sheets to date format如何将 Google 表格中的文本字符串转换为日期格式
【发布时间】:2021-01-17 20:46:59
【问题描述】:

我在每个单元格中都有一个日期和时间格式如下的列:

2021 年 1 月 21 日,星期四 4:30 PM-5:00 PM

我想将其拆分为两列,以便第一列具有“DD/MM/YY”,第二列具有时间段。

所以它会从一个细胞变成:

2021 年 1 月 21 日,星期四 4:30 PM-5:00 PM

到两个单元格:

21/01/21 下午 4:30 至下午 5:00

我可以在 Google 表格中使用什么公式来实现这一点?

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    另一个建议(假设您的原始数据运行 A2:A):

    =ArrayFormula(IF(A2:A="",,SPLIT(REGEXREPLACE(A2:A,"^\w+, (.+\d) (\d.+$)","$1~$2"),"~")))

    这会将第一列中的日期保留为数字原始日期而不是文本,因此您可以在以后的计算和比较中使用它们。只需选择结果的第一列(即那些原始日期,显示为 th 40000 范围内的数字)并以您喜欢的日期格式格式化整个列(Format > Number)。

    【讨论】:

    • 感谢您提供有用的答案,我有类似的问题,日期格式如下:“2021 年 1 月 18 日,格林威治标准时间下午 5:01:38”。不幸的是,我无法正确使用正则表达式,您能帮忙吗?谢谢
    • =ArrayFormula(IF(A2:A="",,SPLIT(REGEXREPLACE(A2:A,"^(\w+ \d+, \d+), (.+)\D{3} $","$1~$2"),"~"))) [END]
    • 乐于助人。您现在可以花一点时间将我的帖子标记为“最佳答案”吗?这会将问题标记为已解决,并允许未来的网站访问者更轻松地找到答案。谢谢。
    【解决方案2】:

    使用:

    =INDEX(IFNA(TEXT({REGEXEXTRACT(A1:A, ", (.+\d{4})")*1, 
     REGEXEXTRACT(A1:A, "\d{4} (.+)")}, {"dd/mm/yyyy", "@"})))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 2013-12-28
      • 2020-11-20
      相关资源
      最近更新 更多