Google Spreadsheet API的另一个问题。我正在尝试使用QUERY()
函数,以便从我们的数据库中获取来自华沙的所有客户。但是Google API似乎在解析我的查询时遇到了很大问题。我已经检查了几次,一切都很好。尝试用分号,不同的撇号和列名称 - 它仍然不起作用。我在表格单元格中输入以下代码:
=QUERY(IMPORTRANGE("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska!A3:G40"); "select B where E contains 'Warszawa'")
并得到这样的错误:
Invalid query: Column [E] does not exist in table.
我110%确定该列存在且电子表格键正常。 ;)
答案 0 :(得分:20)
如果您使用Query
函数直接引用单元格矩形,则使用大写字母来引用列。但是,如果您对数组公式的输出使用Query
,例如从ImportRange
返回,那么您需要使用Col1
,Col2
,.. 。引用列。因此,您的示例查询字符串需要读取:
"select Col2 where Col5 contains 'Warszawa'"
工作示例:
=Query(ImportRange("0AtEH2Kw9zfIodEQ2dFNFam9sdEFEZlVnNEV3ZEZMZEE", "data!A:G"), "select Col3, count(Col4) group by Col3 order by count(Col4) desc label count(Col4) 'count'")
我不知道为什么它不只是让你使用标题行中的名字。
答案 1 :(得分:3)
或者你可以在这种情况下尝试FILTER
函数,然后你就不需要打扰SQL了。 :)
=FILTER(ImportRange("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska!B3:B40"); ImportRange("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska!e3:e40")="Warszava")
虽然我承认由于两个importRange
函数而不是那么漂亮。
希望它无论如何都有帮助。