如何在Google Sheet中使用Query函数将字符串转为日期时间格式
Google Sheets 使用Query函数转换ISO日期字符串为标准日期时间格式
针对你需要将Google Sheets中类似2022-11-17T13:41:47.431Z的ISO格式日期字符串转换为2022-11-17 13:41:47标准日期时间格式的需求,以下是两种基于Query函数的实现方案:
方案一:结合ARRAYFORMULA拆分转换后用Query整合
使用DATEVALUE和TIMEVALUE分别提取日期、时间部分并合并,再通过Query完成数据筛选与展示:
=QUERY({A:A, ARRAYFORMULA(IF(B:B="",,DATEVALUE(LEFT(B:B,10))+TIMEVALUE(MID(B:B,12,8))))}, "SELECT Col1, Col2 WHERE Col1 IS NOT NULL LABEL Col1 'Column A', Col2 'Column B'")
LEFT(B:B,10)提取ISO字符串中的日期部分(如2022-11-17),DATEVALUE将其转为日期值MID(B:B,12,8)提取时间部分(如13:41:47),TIMEVALUE将其转为时间值- 两者相加得到完整的日期时间值,再通过Query选择列、过滤空行并设置表头
方案二:Query内直接调用TO_DATE转换
直接在Query语句中对字符串进行拆分处理,并用TO_DATE转换为日期时间格式:
=QUERY(A:B, "SELECT A, TO_DATE(LEFT(B,10)+MID(B,12,8)) WHERE A IS NOT NULL LABEL A 'Column A', TO_DATE(LEFT(B,10)+MID(B,12,8)) 'Column B'")
- 同样通过
LEFT和MID拆分日期、时间部分,相加后用TO_DATE直接转换为日期时间类型 - Query语句完成数据筛选与表头设置
格式调整
如果转换后的结果显示格式不符合预期,可选中结果列,通过「格式」→「数字」→「日期时间」选择yyyy-mm-dd hh:mm:ss样式即可。
内容的提问来源于stack exchange,提问作者Bruno - Growth Sales
相关产品推荐
相关产品推荐

