Google Sheets中QUERY结果列SUM函数失效问题求助
问题原因
你用QUERY提取的数据里,左侧列是文本格式,而SUM函数仅识别数值格式的数据,右侧列本身是数值类型,所以能正常求和。
解决办法
直接修改QUERY公式,把左侧列强制转成数值,两种实用方法:
方法1:用CAST在查询时转换格式
替换原公式为:
={QUERY(asientos!B1:F198;"select CAST(C AS NUMBER),D where B = "&B2;0)}
CAST(C AS NUMBER)会让QUERY返回的C列结果直接变成数值,之后就能用SUM正常计算。
方法2:用VALUE+ARRAYFORMULA批量转换
如果CAST没效果,用外层函数统一转换第一列:
=ARRAYFORMULA(IFERROR(VALUE({QUERY(asientos!B1:F198;"select C,D where B = "&B2;0)});{QUERY(asientos!B1:F198;"select C,D where B = "&B2;0)}))
VALUE把文本形式的数字转成数值,IFERROR避免非数字内容报错。
补充检查
要是改完公式还是不行,先查数据源C列:在空白单元格输入=ISNUMBER(C1),返回FALSE就说明C列是文本格式。可以先把数据源C列转成数值:
- 在旁边列输入
=VALUE(C1)下拉填充 - 复制结果,右键粘贴为「数值」
- 再用修改后的QUERY公式查询
内容的提问来源于stack exchange,提问作者Trollh unter
相关产品推荐
相关产品推荐

