私はGoogleスプレッドシートを使用していますが、query(IMPORTRANGE)
関数で壁にぶつかりました:
=Query((IMPORTRANGE("URL","Sheet Name!A2:P1000"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14,Col15,Col16 WHERE Col6 contains 'Abstract & TO'",16))
「式解析エラー」が発生し続けます。
問題を解決する方法に関する提案はありますか?
おそらく、クエリの最後のパラメーターとして16ではなく1が必要です。このパラメーターは、ヘッダーの数ではなく、ヘッダー行の数を意味します。
また、式に余分な括弧のペアがあります。それ以外の場合、数式は正しい(スプレッドシートでテスト済み)が、select Col1,Col2,..., Col16
をselect *
に置き換えることで短縮できます
=QUERY(IMPORTRANGE("URL","Sheet Name!A2:P1000"),"SELECT * WHERE Col6 CONTAINS 'Abstract & TO'",1)
エラーの原因として、スプレッドシートが IMPORTRANGE
の目的で接続されていないことが考えられます。
Googleスプレッドシートの新しいバージョンでは、
IMPORTRANGE
を使用して、スプレッドシートに他のスプレッドシートからデータをプルする許可を明示的に付与する必要があります。宛先シートが初めて新しいソースシートからデータをプルするとき、ユーザーは許可を与えるように求められます。
残念ながら、IMPORTRANGE
コマンドがQUERY
内にある場合、このプロンプトは表示されません。 QUERY
が解析するものがないため、代わりに解析エラーがスローされます。スプレッドシートを接続するには、まず何かをインポートします。たとえば、
=IMPORTRANGE("URL","Sheet Name!A1")
#REF
エラーが表示されます。その上にカーソルを合わせると、説明と「接続」ボタンが表示されます。