Google电子表格查询错误 - 列不存在

Kam*_*ilG 15 google-sheets google-sheets-query google-sheets-formula

Google Spreadsheet API的另一个问题.我正在尝试使用Query()函数,以便从我们的数据库中获取来自华沙的所有客户.但是,Google API似乎在解析我的查询时遇到了很大问题.我已经检查了几次,一切都很好 - 尝试过分号,不同的撇号和列名 - 它仍然无法正常工作.我在表格单元格中输入以下代码:

=QUERY(IMPORTRANGE("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska!A3:G40"); "select B where E contains 'Warszawa'")
Run Code Online (Sandbox Code Playgroud)

并得到这样的错误:

Invalid query: Column [E] does not exist in table.
Run Code Online (Sandbox Code Playgroud)

我110%确定该列存在且电子表格键正常;)

Geo*_*rge 21

如果您使用的Query函数直接引用单元格的矩形,则使用大写字母来引用列.但是,如果你正在使用Query针对数组公式的输出,如从返回ImportRange,那么你反而需要使用Col1,Col2,...来引用列.因此,您的示例查询字符串需要读取:

"select Col2 where Col5 contains 'Warszawa'"
Run Code Online (Sandbox Code Playgroud)

工作范例:

=Query(ImportRange("0AtEH2Kw9zfIodEQ2dFNFam9sdEFEZlVnNEV3ZEZMZEE", "data!A:G"), "select Col3, count(Col4) group by Col3 order by count(Col4) desc label count(Col4) 'count'")
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它不只是让你使用标题行中的名称.

  • 谢谢!好奇你在哪里找到这个提示!仅供参考,当您对查询/排序/转置进行嵌套时,这也是一个问题,例如`=query(transpose(query(A1:B3;"select * where B>=2"));"select A")`(它说列 [A] 不存在)。但如果我使用 Col1,它会起作用。 (2认同)
  • 我在查询导入的范围时遇到问题,所以我在谷歌上搜索了“google电子表格查询导入范围”并找到了一个使用“Col1 ... Coln”约定的示例。 (2认同)
  • 由于某种原因,当我尝试应用引用包含“ = filter ...”公式的单个单元格的查询时,出现错误“ NO_COLUMN:Col1”。 (2认同)