Google Sheets QUERY函数显示数字为日期代码的问题求助
Google Sheets QUERY 数字显示为日期代码的解决办法
方法1:在QUERY语句中指定格式
直接在QUERY的SQL语句里加入FORMAT子句,强制指定列的输出格式,匹配源工作表的样式:
=QUERY(Orders!$A:H, "SELECT D, E, F WHERE NOT H LIKE '%Canceled%' FORMAT D 'yyyy-mm-dd', E '#,##0.00', F '@'")
- 替换
'yyyy-mm-dd'为源表D列的实际日期格式,'#,##0.00'为E列的数字格式,'@'用于保留F列的文本格式。
方法2:用ARRAYFORMULA强制还原数据类型
如果希望完全继承源表的格式,无需手动指定格式字符串,可以拆分列后分别转换:
=ARRAYFORMULA({ TO_DATE(INDEX(QUERY(Orders!$A:H, "SELECT D WHERE NOT H LIKE '%Canceled%'"),,1)), TO_PURE_NUMBER(INDEX(QUERY(Orders!$A:H, "SELECT E WHERE NOT H LIKE '%Canceled%'"),,1)), INDEX(QUERY(Orders!$A:H, "SELECT F WHERE NOT H LIKE '%Canceled%'"),,1) })
TO_DATE把数值型的日期代码转回日期格式,TO_PURE_NUMBER将被误识别为日期的数字还原为纯数字,F列若为文本直接保留即可。
方法3:手动设置单元格格式(快速临时方案)
- 先输入原公式获取结果:
=QUERY(Orders!$A:H, "SELECT D, E, F WHERE NOT H LIKE '%Canceled%'") - 选中返回结果的对应列,右键选择「设置单元格格式」,选择与源工作表一致的格式即可。
内容的提问来源于stack exchange,提问作者Jerry
相关产品推荐
相关产品推荐

