Google Sheets query()输出能否进行数据类型转换?
在Google Sheets QUERY函数中实现数值类型转换(替代SQL CAST)
问题背景
数据集包含两类记录:
- Type1:ID字段为整数值
- Type2:ID字段为空,需返回命名范围
default_type_2_id中的默认ID
使用以下组合QUERY公式时,Type2返回的ID始终为字符串类型,ISNUMBER()验证返回FALSE,调整数据类型或FORMAT子句均无效:
={query(data!A2:C,"select A, '"&default_type_2_id&"' where B=2 label A 'product', '"&default_type_2_id&"' 'id'"); query(data!A2:C,"select A,C where B=1")}
解决方案
Google Sheets QUERY无原生CAST函数,但可通过算术运算强制类型转换。修改后的公式如下:
={query(data!A2:C,"select A, "&default_type_2_id&"+0 where B=2 label A 'product', "&default_type_2_id&"+0 'id'"); query(data!A2:C,"select A,C where B=1")}
核心调整说明
- 移除包裹
default_type_2_id的单引号,直接将数值拼入QUERY语句,避免被识别为字符串 - 通过
+0(或*1)触发自动类型转换,确保返回结果为数值类型 - 同步调整标签部分,保持列名
id不变
验证:Type2的ID字段用ISNUMBER()检查将返回TRUE,与Type1的ID数据类型一致。
内容的提问来源于stack exchange,提问作者lkesich
相关产品推荐
相关产品推荐

