こんにちは、せこしょーです。
今回はGoogle スプレッドシートを使って、QUERY関数の使い方を説明していきます。
QUERY関数とは欲しい条件に合致するデータをすべて抽出できる関数となってます。
条件指定が一つのみと縛りがあるVLOOKUP関数と違い複数条件かつ複数のデータを抽出可能となるため、QUERY関数はVLOOKUP関数の進化系と言えるでしょう。
ぜひ本ページと下記動画を参考にしご活用ください。
動画はこちら↓↓
QUERY関数の使い方説明
1.今回は下記のシートを元にQUERY関数について説明をしていきます。

QUERY関数の式は以下です。
=QUERY(データの範囲,"クエリの条件")
2.QUERY関数を用いてselect条件に当てはまるデータを抽出していきましょう。
例えば、社員データより、A列,B列,C列のデータを抽出する際は
=QUERY('社員データ'!A1:!I51,"select A,B,C")

select条件を用いた結果がこちら

3.次にwhere条件を用いて特定の条件に当てはまるデータを抽出していきましょう。
2.にて A列,B列,C列のデータは抽出できました。
さらにその中から総務部にマッチするデータだけを抽出してみましょう。
その時の式は・・・
=QUERY('社員データ'!$A$1,$I$51,"select A,B,C where C = '総務部'")
関数の意味としては社員データから A列,B列,C列のデータを抽出し、その中のC列から総務部にヒットするデータだけを抽出という意味になります。
where条件を用いた結果がこちら


補足・・・
select の後に * を指定することで全データ内より抽出可能となります。(正規表現)

4.データの抽出条件を変更して応用を利かせてみましょう。
データを抽出したい時など別セルに移動させると簡単に抽出条件を変更できます 。
・ 1列目に空白セルを追加し、select条件をA1セルに移動させる
・”select A,B,C where C = ‘総務部'”が定義されていた箇所でA1(select条件のセル)を指定する
たったこれだけでデータ抽出条件の変更が便利になります。

5.AND関数やlike演算子を使って更に細かいデータ抽出に役立ててみましょう。
AND関数とは「 複数の条件をすべて満たしているもの 」のデータ抽出に利用します。
例えば・・・人事部かつ部長のデータを抽出したい場合
select * where C = '人事部' AND D = '部長'

次にlike演算子で%(ワイルドカード)を用いてあいまい検索をしてみましょう。
例えば・・・営業部かつ住所が東京であるデータ抽出をした場合
select * where C = '営業部' AND I like '東京都%'
%は 「 0 個以上の何らかの文字列 」という意味になりますので東京都の後ろにつける事で東京都から始まる文字列のデータ全てを抽出してくれます。
※両脇につける事で部分一致となります(例・・・%立川市%)

6.おわりに
以上のように関数式としては =QUERY(データの範囲,”クエリの条件”) と簡単な表記になるが
様々な条件を指定することで多様なデータ抽出方法が可能になる。
それがgoogleスプレッドシートのQUERY関数です。
コメント