Google Sheets QUERY函数报‘NO_COLUMN: S’错误求助
问题分析与解决方案
错误原因
你在QUERY语句中直接使用原表的列字母(S、CE)指定列,但QUERY函数处理IMPORTRANGE返回的数据集时,无法识别原表的Excel式列字母,必须用Col+列序号的格式引用列。
用SELECT *能正常返回数据,是因为该语句不需要识别具体列名;而指定S、CE时,QUERY找不到对应列标识,因此抛出NO_COLUMN错误。
正确公式写法
先计算目标列对应的序号:
- 原表R列是第18列(A=1,B=2…依此类推到R为18),对应QUERY中的
Col18 - 原表CE列是第83列(计算逻辑:A-Z为1-26,AA-AZ为27-52,BA-BZ为53-78,CA为79,CE为79+4=83),对应QUERY中的
Col83
替换后的正确公式:
=QUERY(IMPORTRANGE("form_url","June 3-7 (Robert Martin)!A1:EY800"), "SELECT Col18, Col83 WHERE Col83 is not null")
补充说明
如果原表第一行是表头,且R列表头恰好为S、CE列表头恰好为CE,也可以通过指定表头参数使用列名:
=QUERY(IMPORTRANGE("form_url","June 3-7 (Robert Martin)!A1:EY800"), "SELECT S,CE WHERE CE is not null", 1)
末尾的1表示将第一行作为表头,QUERY会以此为依据识别列名。但根据你的报错情况,原表显然不存在这类匹配的表头,因此优先使用Col+序号的写法。
内容的提问来源于stack exchange,提问作者revive
相关产品推荐
相关产品推荐

