You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets QUERY函数引用BY列触发PARSE_ERROR报错排查

报错原因

该报错和BY列的单元格格式无关,触发根源是:BY是QUERY函数底层查询语法的保留关键字,会被解析器识别为GROUP BY/ORDER BY子句的语法组成部分,不会被判定为列标识符,因此在解析到该位置时抛出语法匹配错误。
QUERY语法和标准SQL规则一致,所有语法关键字(比如SELECT、WHERE、AND、OR、BY、GROUP、ORDER、LIMIT等)如果直接作为列名书写,都会触发同类解析错误。

解决方法

你可以任选以下一种方案修复:

  • 保留字转义
    用反引号包裹作为列名的保留字BY,明确告诉解析器这是列标识符而非语法关键字,修改后的公式如下:
    =QUERY(XXXXXXXXXX!$A$1:$CJ,"select BL,BM,BN,BK,BP,BQ,BR,BO,BT,BU,BV,BS,BX,`BY`,BZ,BW,CB,CC,CD,CA,CF,CG,CH,CE where A > date '2022-03-21'")
    
    这是最简便的修复方式,不需要调整其他参数,也不会影响数据读取逻辑。
  • 改用列序号引用
    QUERY支持通过「Col+列在所选范围内的序号」格式引用列,这种写法不会触发关键字冲突。你所选的数据范围从A列开始,BY列是范围内的第77列,改写后的公式如下:
    =QUERY(XXXXXXXXXX!$A$1:$CJ,"select Col64,Col65,Col66,Col63,Col68,Col69,Col70,Col67,Col72,Col73,Col74,Col71,Col76,Col77,Col78,Col75,Col80,Col81,Col82,Col79,Col84,Col85,Col86,Col83 where Col1 > date '2022-03-21'",0)
    
    注意使用列序号写法时,需要将QUERY的第三个参数设为0,告知函数不要自动识别表头,避免列序号匹配偏移。

内容的提问来源于stack exchange,提问作者Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 13:15:35