![見出し画像](https://assets.st-note.com/production/uploads/images/59746053/rectangle_large_type_2_23e12ddcfce356f13052e51b0c21f392.jpeg?width=1200)
[QUERY関数]複数シートから参照
前回はスプレッドシートでVlookup関数を用いる際、複数のシートを検索対象範囲とするTipsを記しました。
QUERY関数でも複数のシートをデータ範囲としたい、というケースはよくあります。
同様の設定で実現できるでしょうか。確認してみます。
以下のデータがあるとします。
担当者aaa、bbb、cccと3シートに分かれています。
シートの構造は同一です。
![画像1](https://assets.st-note.com/production/uploads/images/59744825/picture_pc_38efd325651acc31e871efe96bfbf427.png?width=1200)
別シート[QUERY]を用意します。
セルB1に都道府県名を入力し、
前述の3シートから該当するデータを3行目以降に抽出したい、とします。
![画像2](https://assets.st-note.com/production/uploads/images/59745042/picture_pc_90160be201d95a1c175053496bd88ce7.png)
QUERY関数を用いて実現します。
セルA2には以下の関数を記述します。
=QUERY({'担当者_aaa'!A:E;'担当者_bbb'!A:E;'担当者_ccc'!A:E}, "select Col1,Col2,Col3,Col4,Col5 where Col4 = '"&B1&"' ")
結果はこちら。
![画像3](https://assets.st-note.com/production/uploads/images/59745398/picture_pc_375b28be109cfdca539a8d7973409ec1.png)
3シートに分かれているデータ範囲:
「'担当者_aaa'!A:E」「'担当者_bbb'!A:E」「'担当者_ccc'!A:E」を
セミコロン;でつなぎ、前後を波カッコ{}でくくります。
また留意すべき点として、
抽出したい列の表記は「アルファベット(A,B,C...)」ではなく
「Col + 列数」を用います。(ex:Col1,Col2,Col3,...)
波カッコ{}とセミコロン;を用い、
複数のシートをデータ範囲としてQUERY関数を実装することが出来ました。
※2022年9月に技術同人誌「会社員がVLOOKUPの次に覚えるQUERY関数超入門」を出版いたしました。