QUERY関数のwhere句で複数条件を指定する方法【スプレッドシート】
本記事ではスプレッドシートのQUERY関数で複数条件を指定する方法を解説します。
QUERY関数の基本的な使い方が知りたい方は、以下の記事もあわせてご覧ください。
QUERY関数のwhere句で複数条件を指定する方法
QUERY関数で抽出するデータに条件を指定する場合はwhere句を使います。
基本的な使い方は以下の通りです。
QUERY(範囲,”where 条件式”)
複数の条件を指定する場合は、この条件式をand・orで繋ぐことで実現できます。
and・orの違いは以下の表でご確認ください。
論理演算子 | 使用例 | 解説 |
---|---|---|
and(かつ) | A and B | AかつB(完全一致) |
or(または) | A or B | AまたはB(部分一致) |
それでは実際に複数の条件で指定してみましょう。
以下のサンプル画像を使ってそれぞれ解説していきます。
and条件を使って指定
まずはand条件で指定する方法です。
where 条件式 and 条件式
性別が「女性」かつ商品IDが「SH_0001」だけを抽出
関数
=QUERY(B3:H13,”where D = ‘女性’ and E = ‘SH_0001′”,true)
出力結果
条件に一致した行が2つ抽出できました。
or条件を使って指定
次にorを使った指定方法です。
where 条件式 or 条件式
商品IDが「SH_0002」または「SH_0005」だけを抽出
関数
=QUERY(B3:H13,”where E = ‘SH_0002’ or E = ‘SH_0005′”,true)
同じ列を指定する場合も省略しないように注意しましょう。
- NG例・・・where E = ‘SH_0002’ or ‘SH_0005’
- OK例・・・where E = ‘SH_0002’ or E = ‘SH_0005’
出力結果
今回は5つの行が抽出できました。それぞれ条件に一致しているのがわかると思います。
ANDとORを組み合わせて指定する方法
上記で解説したandとorは組み合わせて使うこともできます。
以下の2つの例をみてみましょう。
例①性別が「男性」かつ商品IDが「SH_0001」または「SH_0002」
QUERY関数でandとorを組み合わせる際、どの条件がひとまとまりなのかを考えることをおすすめします。
今回の場合は、
条件1・・・性別が「男性」
条件2・・・商品IDが「SH_0001」または「SH_0002」
となり、条件2がひとまとまりになります。この条件1と条件2をandで繋げば良いわけです。
関数
=QUERY(B3:H13,”where D = ‘男性’ and ( E = ‘SH_0001’ or E = ‘SH_0002’ )”,true)
上記で考えたひとまとまりの部分は「()」でまとめるようにしてください。
出力結果
例②商品IDが「SH_0005」または性別が「女性」かつ商品IDが「SH_0002」
文章で見ると少し複雑ですが、ここでも条件のまとまりを考えます。
今回は以下のようにまとめることができるはずです。
条件1・・・商品IDが「SH_0005」
条件2・・・性別が「女性」かつ商品IDが「SH_0002」
あとは上記で解説したように指定することで欲しいデータを抽出することができます。
関数
=QUERY(B3:H13,”where E = ‘SH_0005’ or ( D = ‘女性’ and E = ‘SH_0002’ )”,true)
出力結果
条件が3つ4つと増える場合も、条件のまとまりを意識することで正しく抽出することができますよ。
まとめ
今回はQUERY関数で複数条件を指定する方法をご紹介しました。
and・orを使った複数指定はほかの関数でも使用するので、ぜひ覚えておきましょう。
ほかにもQUERY関数は様々なオプションを指定することができます。
データを扱う際は非常によく使う関数なので、基本的な使い方を知っておくと業務の効率化を図ることができるはずです。
QUERY関数の使い方
ー | クエリ | 解説 |
---|---|---|
基礎 | select | 抽出する列を指定する |
基礎 | where | 抽出する条件を指定する |
基礎 | order by | 抽出するデータの並び替えを行う |
基礎 | group by | 抽出する列のデータ集計を行う |
基礎 | label | 抽出するデータの見出しを変更する |
応用 | ー | IMPORTRANGE関数と組み合わせて別シートを参照する方法 |
応用 | ー | 複数の範囲・シートを結合させる方法 |
応用 | where | 空白行だけを抽出・除外する方法 |
応用 | where | 複数の条件を指定する方法 |
応用 | where | 条件指定をセル参照にする方法 |
応用 | where | 条件指定に日付を使う方法 |