質問: ### 前提・実現したいこと googleスプレッドシートにてQuery関数にて複数のスプレッドシートから情報を引用したいのですが、方法がわかりません。 ### 発生している問題・エラーメッセージ ``` http://qiita.com/ShishidoToru/items/e2b991fbf0f63710141c IMPORTRANGE関数を混ぜるとできます。すなわち、下記のような形でできるということです。具体例は割愛します(すみません、正直な話、ちょっと力尽きてきました)。 =QUERY({ QUERY(IMPORTRANGE("スプレッドシートキー",範囲),"select文"); QUERY(IMPORTRANGE("スプレッドシートキー",範囲),"select文") },"select文") ``` ### 該当のソースコード `上記のとおりに記載したつもりがうまくいきませんでした。特に、最後の"select文"をどのようにすればよいかがわかりませんでした。` ### 試したこと http://chaika.hatenablog.com/entry/2015/11/26/143853 上記のURLを参考に試しました。 ### 補足情報(言語/FW/ツール等のバージョンなど) 該当なし
回答: 本人です(苦笑)。 たとえばスプレッドシートA、スプレッドシートBに「名簿」シートがあり、A列に名前、B列に年齢があり、2行目からデータが並んでいるとします(1行目はタイトルで使用)。 それをスプレッドシートCに結合した状態で引っ張ってくることを想定します。 スプレッドシートCのシート1のA1,A2にはスプレッドシートA,Bのスプレッドシートキーをコピペしておきます。そして、 =QUERY({QUERY(IMPORTRANGE(A1,"名簿!A2:B"));QUERY(IMPORTRANGE(A2,"名簿!A2:B"))},"where Col1!=''") where Col1!=''はこれがないと間の空白行まで結合してきてしまうため、通常は必要です。また、文字列のため、Col1 != ''ですが、これが年齢のように数字の列でやる場合はCol2 is not nullと記法が変わるので注意が必要です。 少し応用して、結合した結果に対して年齢が20歳未満の名前だけを抽出するとしたら、 =QUERY({QUERY(IMPORTRANGE(A1,"名簿!A2:B"));QUERY(IMPORTRANGE(A2,"名簿!A2:B"))},"select Col1 where Col1!='' and Col2<20") などとします。