【问题标题】:Is it possible to get Sheets to recognize my REGEXEXTRACT results as a date?是否可以让表格将我的 REGEXEXTRACT 结果识别为日期?
【发布时间】:2020-11-10 15:53:42
【问题描述】:

我有一列以以下格式填充日期数据:[Date: 09-Nov-2020 10:29 AM]

我使用以下公式仅取出日期信息: =ArrayFormula(REGEXEXTRACT(C2:C,".*: (.*)\S\D"))(其中C2:C 是未格式化日期的列)。

这会将日期显示为09-Nov-2020,但 Google 表格似乎无法将其识别为日期。当我尝试编辑数字格式时,没有任何变化。

奇怪的是,我有一个基于这些缩短日期的数据验证列表,当我在那里更改数字格式时,它会正确更新。

我正在尝试对其进行设置,以便可以使用 MATCH 公式根据此 DD-Mmm-YYYY 格式定位日期,但由于 Sheets 没有将 REGEXEXTRACT 的结果视为日期,因此我可以'找不到可以做到这一点的公式(包括MATCHFILTER 等)

很遗憾,由于其中存储了敏感信息,我无法直接共享工作表,但根据上面的公式,我还能做些什么来完成这项工作吗?

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    试试下面的公式:

    =value(Text(ArrayFormula(REGEXEXTRACT(C2:C,".*: (.*)\S")),"dd-mmm-yyyy"))
    

    【讨论】:

    • 谢谢!这几乎是完美的,但给了我解决方案。我只需要将ArrayFormula 移到开头,它就可以工作了。最终的工作公式是=ArrayFormula(value(Text((REGEXEXTRACT(C2:C,".*: (.*)\S)),"dd-mmm-yyyy"))
    【解决方案2】:

    虽然公式provided by Rocky 可用于检索日期的日部分,但它不会保留time09-Nov-2020 10:29 AM 变为09-Nov-2020 00:00 AM

    这是因为TEXT 用于格式化为dd-mmm-yyyy,其中不包含time 部分。

    虽然没有必要使用TEXT,可以直接使用VALUEREGEXEXTRACT返回的字符串转换为日期:

    =ArrayFormula(IFNA(VALUE(REGEXEXTRACT(C2:C,".*: (.*)\S"))))
    

    注意:

    • 此处使用IFNA 忽略C 中的空单元格。

    参考:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 1970-01-01
      • 2016-11-24
      • 2021-09-20
      • 1970-01-01
      相关资源
      最近更新 更多