
QUERY関数でDBから抽出する[QUERY関数][Googleスプレッドシート]
スプレッドシートのデータベースから欲しい情報のみを抽出したい場合、QUERY関数を用いると便利な時があります。
下記の「受注案件リスト」を例に用います。

別のシート「DB_東京本社」に、QUERY関数を用いて東京本社のみのデータを反映させます。
セルA1に以下のQUERY関数を入力します。
=QUERY('DB01'!A:H,"select A,B,C,D,E,F,G,H where C = 101")
結果、別シートに東京本社のみのデータが反映されました。

上記のQUERY関数を解説します。

■第一引数:データ
データの範囲を指定します。
別シートのシート名はシングルクォーテーションで囲います。
■第二引数:クエリ
ダブルクォーテーションで囲います。
クエリ言語にある様々な「句(Clause)」を用いクエリを実行します。
select句で表示したい列とその表示順を指定します。
where句で列C(担当支社コード)が「101」である行のみ抽出しています。
※参考<1>
select句で「select *」とアスタリスクを用いると、データ範囲と同じ表示列/表示順を返すことが出来ます。
=QUERY('DB01'!A:H,"select * where C = 101")
※参考<2>
where句の抽出条件が文字列の場合はシングルクォーテーションで囲みます。
=QUERY('DB01'!A:H,"select * where D = '東京支社'")
※続きの記事を書きました。
※2022年9月に技術同人誌「会社員がVLOOKUPの次に覚えるQUERY関数超入門」を出版いたしました。