谷歌表格Query函数中BY/OR列名与命令冲突的解决方法
解决Google Sheets Query函数列名与关键字冲突的问题
当你的列名是BY、OR这类Query的保留关键字时,直接在语句里用列名会被识别成命令,导致查询无结果,用下面两种方法就能解决:
给关键字列名加反引号:在Query的字符串参数里,把冲突的列名用反引号(`)包裹起来,比如原本错误的语句:
=QUERY(A:AGH, "SELECT BY WHERE OR > 10")修改为:
=QUERY(A:AGH, "SELECT `BY` WHERE `OR` > 10", 1)反引号会告诉Query引擎把包裹的内容当成普通列名,而非语法关键字。注意最后加的
, 1是指定表头行数,根据你的实际表头数量调整,如果没有表头可以去掉。用列位置编号替代列名:如果列太多记不住名字,直接用
Col+数字的格式引用列,数字代表列在数据范围里的位置(比如A列是Col1,B列是Col2,以此类推)。比如BY是第77列、OR是第78列的话,语句可以写成:=QUERY(A:AGH, "SELECT Col77 WHERE Col78 > 10", 1)这种方式完全避开了列名关键字的问题,适合超大量列的场景。
内容的提问来源于stack exchange,提问作者Harri Uusix
相关产品推荐
相关产品推荐

