- 公開日:
スプレッドシートのQUERY関数where句で複数条件を指定する方法
こちらの記事では、スプレッドシートのQUERY関数where句で複数条件を指定する方法についてお伝えします。
where句を使うことにより、より詳細なデータ集計を行うことができるようになります。ぜひ参考にしてみてください。
スプレッドシートのQUERY関数where句で複数条件を指定する方法
QUERY関数にwhere句を合わせて使うことで、条件を付けたうえでデータを抽出できるようになります。
複数条件を指定するには、where句と共に「OR」「AND」を使った記述を行います。抽出したい条件に合わせて使い分けましょう。詳細は以下の通りです。
OR条件を使う
「OR」条件を記述した場合は、複数条件のうち、いずれかが当てはまれば、情報を抽出する、という指示になります。記述の仕方は以下の通りです。
※見出しはデータの上にある見出し行の数を入力しますが、省略も可能です。省略した場合は、データの内容に基づいて推測されます。
=QUERY(元データ,"select 抽出したい列 where 条件1 or 条件2",見出し)
こちらの表から、C列が「西店」であるか、D列が「北海道」であるデータを抽出します。具体的な手順は以下の通りです。
結果を表示したいセルに、「=QUERY(A2:G18,"select * where C='西店' or D='北海道'")」と入力します。
※見出しを省略していますが、書略しない場合は、「=QUERY(A2:G18,"select * where C='西店' or D='北海道'",1)」と入力します。
C列が「西店」、もしくはD列が「北海道」のデータが表示されます。
以上が、QUERY関数のwhere句内で、OR条件を使う方法です。
AND条件を使う
「AND」条件を記述した場合は、複数条件のうち、全てが当てはまる情報を抽出する、という指示になります。記述の仕方は以下の通りです。
=QUERY(元データ,"select 抽出したい列 where 条件1 and 条件2")
こちらの表から、C列が「西店」かつ、D列が「北海道」のデータを抽出します。具体的な手順は以下の通りです。
結果を表示したいセルに、「=QUERY(A2:G18,"select * where C='西店' and D='北海道'")」と入力します。
C列が「西店」かつ、D列が「北海道」のデータが表示されます。
以上が、QUERY関数のwhere句内で、AND条件を使う方法です。
OR条件とAND条件を併用する
続いて紹介するのは、「OR」と「AND」を併用する方法です。こちらは記述の仕方を説明すると若干ややこしいので、例をお見せしながらご紹介します。
=QUERY(元データ,"select 抽出したい列 where (条件1 or 条件2) and 条件3")
こちらの表から、C列が「西店」か、D列が「北海道」であり、A列が「SAW」の商品を抽出します。手順は以下の通りです。
結果を表示したいセルに、「=QUERY(A2:G18,"select * where (C='西店' or D='北海道') and A='SAW'")」と入力します。
OR条件とAND条件を一緒に利用する場合は、指定したい条件が複数存在する方を括弧で括ります。今回のケースの場合、OR条件が複数あり、AND条件はひとつなので、OR条件を括弧で括ります。
C列が「西店」か、D列が「北海道」で、A列が「SAW」のデータが表示されます。
以上が、QUERY関数のwhere句内で、OR条件とAND条件を併用する方法です。
日付データを条件に指定する際の注意
日付データを条件に指定する際、参照するデータの表示形式が、テキスト形式になっていないと、結果がうまく表示されないケースもあります。
表示形式を変更する方法は、以下の通りです。
①表示形式を変更したいセルを選択し、②画面上部のメニューから「表示形式」をクリックして、③表示される一覧から「数字」をクリックします。
表示される一覧から「書式なしテキスト」をクリックします。
表示形式の変更が完了しました。以上が、スプレッドシートにおける、テキスト形式への表示形式の変更方法です。