この記事では、GoogleスプレッドシートのQUERY関数の照会命令文(クエリ)内で使用する、Where句での部分一致条件の設定の仕方について説明します。
上記の前回記事ではWher句の基本的な使い方を解説させていただきました。おさらいになりますが、Where句の役割と特徴は以下の通りです。
- 照会先の表データから抽出する際の抽出条件を指定するためのもの
- 条件は1つ(単一条件)でも、複数(複数条件)でも指定することができる
- 様々な計算記号(演算子)を使用して条件を指定することができる
- 除外条件や部分一致を条件として指定することもできる
この記事では、4つ目の項目であるWhere句における、除外条件や部分一致の設定方法について解説していきます。
Where句での除外条件の設定方法
表データからデータ抽出を行う際に「特定の項目がXXXX以外のデータを抽出したい」と思うことはよくあることだと思います。もちろん、Where句でもその指定は可能です。
早速、指定方法を見てみます。
この例では、キャンペーン名が「キャンペーンA」に等しいもの以外のデータが抽出されました。
指定方法はシンプルで、「XXXX以外の」という条件「XXXX」の部分を、notとカッコで囲みます。まさに読んで字の如くで、カッコ内の条件を否定(=not)する形になっています。
もしくは、前回の記事で触れた計算記号(演算子)を使うこともできます。例えば「B列キャンペーン名が、キャンペーンAではない」という条件であれば、以下の通りです。
notを使うと、続くカッコ内の全てを除外することも出来ます。
Where句での部分一致の設定方法
続いては部分一致の指定の仕方になります。これまで使っていた「=」(イコール)は、「B列がXXXXと一致する」というような完全一致の指定するものでした。
実際の使用シーンでは、「XXXXで始まる」、「XXXXで終わる」、「XXXXが含まれる」といった、部分的に一致する抽出条件、つまりは部分一致を指定したくなることがあると思います。
そういったときは、「=」の代わりに「like」演算子を使用することで部分一致の指定が可能になります。上記の3つの用途に応じて、実際の指定方法をまとめてみます。
条件 | パターン名 | 指定方法 | 抽出されるデータ例 |
---|---|---|---|
XXXXで始まる | 部分一致(前方) | Like ‘PC%’ | PCR検査 |
XXXXで終わる | 部分一致(後方) | Like ‘%PC’ | ノートPC |
XXXXが含まれる | 部分一致(中間) | Like ‘%PC%’ | 石丸電気PC館 |
Likeの後に部分一致の条件を、「’」(シングルクォーテーション)で囲んで記載します。中で登場する「%」マークは、何でも当てはまる0文字以上の文字列を表す記号です。こういった記号をワイルドカードと呼びます。
早速ですが、実際の使用例を見てみましょう。
部分一致(前方)
都道府県(一部)の表データから「北」で始まるものを抽出してみます。
部分一致(後方)
次に同じ表データから「府」で終わるものを抽出してみます。
部分一致(中間)
続いて、「川」が含まれるものを抽出してみます。(わかりやすくするため、香川県を追加しました)
まとめと更なる応用の話
今回説明させていただいた、除外条件と部分一致はもちろん組み合わせ使うこともできます。これらを駆使することで抽出できる条件の幅が広がり、瞬時に欲しいデータセットまで辿り着くことが出来るようになります。
更に応用的な話として、条件指定には「match」という演算子を使用して「正規表現」も使用可能です。正規表現を使うことで、更に複雑な部分一致を指定することが出来たります。「正規表現」は実にプログラム的な書き方になり、エンジニア経験がないと覚えるのは大変ですが、ある程度の基本を押さえてしまえば(=Webとかで調べながらでも使えるレベルでも全然OK)、指定できない条件はほぼなくなります。
QUERY関数については、他の記事もアップしていますので、参考になりそうなものがあれば、ぜひ御覧ください。