2012-07-25 10 views
8

GoogleスプレッドシートAPIの別の問題。私はワルシャワからのデータベースからすべての顧客を得るためにQuery()関数を使用しようとしています。しかし、Google APIはクエリの解析に大きな問題があるようです。私はそれを数回チェックして、すべてがOKです - セミコロン、異なるアポストロフィと列名を試しました - それはまだ動作しません。Googleスプレッドシートクエリエラー - 列が存在しません

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

そして、このようにエラーが出ます:私はシートのセルにこのコードを入力

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

そして、私は列が存在し、スプレッドシートキーがOKであることを110%確信している;)

答えて

14

Query関数を使用してセルの矩形を直接参照する場合は、大文字を使用して列を参照します。ただし、ImportRangeからの戻り値など、配列式の出力に対してQueryを使用している場合は、代わりに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

ありがとうございます!あなたがこのヒントを見つけた場所を知りたい!これはまた、 '= query(transpose(query:A1:B3;" select * where B> = 2 "));" select A ")'などのクエリ/ソート/トランスポーズのネストを行うと問題になります。 Column [A]は存在しません)。しかし、私はCol1を使用する場合は動作します。 – Fuhrmanator

+1

私はインポートされた範囲を照会する際に問題を抱えていたので、 'google spreadsheet query importrange'のためにGoogleで検索し、' Col1 ... Coln'の規約を使用した例に上陸しました。 – George

+0

@ George。ソーススプレッドシートで必要な設定はありますか?データは正常にインポートされましたが、数値のみがインポートされました。文字列を含むセルは空白です。 – putoshop

2

また、この場合はFILTER関数を試してみると、sqlを気にする必要はありません。 :)

= FILTER

が、(IMPORTRANGE( "0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "KuchniaポルスカB3:!:B40")= "Warszava"); IMPORTRANGEは( "0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0Eは" "!E40 KuchniaはE3をポルスカ")私は2つのimportRange関数のためにあまりにもきれいではないことを認めます。

とにかく助けてくれたらと思います。

関連する問題