是否可以让表格将我的 REGEXEXTRACT 结果识别为日期?
Posted
技术标签:
【中文标题】是否可以让表格将我的 REGEXEXTRACT 结果识别为日期?【英文标题】:Is it possible to get Sheets to recognize my REGEXEXTRACT results as a date? 【发布时间】: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
的结果视为日期,因此我可以'找不到可以做到这一点的公式(包括MATCH
、FILTER
等)
很遗憾,由于其中存储了敏感信息,我无法直接共享工作表,但根据上面的公式,我还能做些什么来完成这项工作吗?
【问题讨论】:
【参考方案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 可用于检索日期的日部分,但它不会保留time
:09-Nov-2020 10:29 AM
变为09-Nov-2020 00:00 AM
。
这是因为TEXT 用于格式化为dd-mmm-yyyy
,其中不包含time
部分。
虽然没有必要使用TEXT
,可以直接使用VALUE将REGEXEXTRACT
返回的字符串转换为日期:
=ArrayFormula(IFNA(VALUE(REGEXEXTRACT(C2:C,".*: (.*)\S"))))
注意:
此处使用IFNA 忽略C
中的空单元格。
参考:
VALUE【讨论】:
以上是关于是否可以让表格将我的 REGEXEXTRACT 结果识别为日期?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将我的数据库与论坛(SMF、phpBB)数据库集成?
将我的 Google 图表(表格)数据导出到 excel 或 csv