21

Google 电子表格 API 的另一个问题。我正在尝试使用QUERY()函数来从我们的数据库中获取来自华沙的所有客户。然而,谷歌 API 似乎在解析我的查询时遇到了一个大问题。我检查了几次,一切正常。尝试了分号、不同的撇号和列名——它仍然不起作用。我在工作表单元格中键入此代码:

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

并得到这样的错误:

Invalid query: Column [E] does not exist in table.

而且我 110% 确定该列存在并且电子表格密钥正常。;)

4

2 回答 2

33

如果您正在使用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'")

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

于 2012-11-28T03:26:44.130 回答
3

或者,您可以在这种情况下尝试该FILTER功能,然后您就不需要为 SQL 操心了。:)

=FILTER(ImportRange("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska!B3:B40"); ImportRange("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska!e3:e40")="Warszava")

虽然我承认它不是那么漂亮,因为这两个importRange功能。

无论如何希望它有所帮助。

于 2014-04-25T10:02:18.537 回答