QUERY関数のwhere句で複数条件を指定する方法【スプレッドシート】

記事内の「“”」「‘’」が全角になっていますが、スプレッドシートで指定する場合は半角に変更してください

本記事ではスプレッドシートのQUERY関数で複数条件を指定する方法を解説します。

QUERY関数の基本的な使い方が知りたい方は、以下の記事もあわせてご覧ください。

目次

QUERY関数のwhere句で複数条件を指定する方法

QUERY関数で抽出するデータに条件を指定する場合はwhere句を使います。

基本的な使い方は以下の通りです。

QUERY(範囲,”where 条件式”)

複数の条件を指定する場合は、この条件式をand・orで繋ぐことで実現できます。

and・orの違いは以下の表でご確認ください。

論理演算子使用例解説
and(かつ)A and BAかつB(完全一致)
or(または)A or BAまたは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関数の使い方

スプレッドシート – QUERY関数の使い方まとめ

スクロールできます
クエリ解説
基礎select抽出する列を指定する
基礎where抽出する条件を指定する
基礎order by抽出するデータの並び替えを行う
基礎group by抽出する列のデータ集計を行う
基礎label抽出するデータの見出しを変更する
応用IMPORTRANGE関数と組み合わせて別シートを参照する方法
応用複数の範囲・シートを結合させる方法
応用where空白行だけを抽出・除外する方法
応用where複数の条件を指定する方法
応用where条件指定をセル参照にする方法
応用where条件指定に日付を使う方法
目次