QUERY関数で指定文字を含む行を抽出する方法!「contains」と「like」の活用

関数
この記事は約3分で読めます。

QUERY関数で指定文字を含む行を抽出する方法を解説する。

 

Query関数で指定の文字を含む行だけ抽出するためには、「contains」または「like」を活用する。

 

簡単に説明すると、「contains」は、「like」よりも簡単に使用できる。

一方「like」は「contains」よりも詳細な文字列指定をすることができる。

 

このへんは、実際に見た実例がわかりやすい!

先に「contains」から紹介する。

contains

containsは、特定の文字列を含む行を抽出することができる。

【公式】

=QUERY(範囲, “where 列 contains ‘文字列A’ AND 列 contains ‘文字列B’ “,true)

 

下記のスプレッドシートからB列の「打ち合わせ」と記載のあるB列とC列の行を抽出したいとする。

以下のように式を立てる。

=QUERY(B2:C,”where B contains ‘打ち合わせ'”)

上記式の意味は、「セルB2からC列の範囲内で、「打ち合わせ」を含む行を抽出」だ。

like

【公式】

=QUERY(範囲, “where 列 like パターン)

 

先ほど同様にスプレッドシートB列の「打ち合わせ」と記載のある文字列と予定月を抽出したいとする。

以下のように式を立てる。

=query(B2:C,“where B like’%打ち合わせ'”)

上記式の意味は、「セルB2からC列の範囲内で、「打ち合わせ」を含む行を抽出」だ。

以上が、likeの使い方だ。

【likeの使い方4つ】完全一致・前方一致・後方一致・中間一致

likeは、containsよりも詳細な文字列指定ができ、以下の4パターンがある。

  1. 完全一致(○○と完全に一致した文字列)
  2. 前方一致(○○で始まる文字列)
  3. 後方一致(○○で終わる文字列)
  4. 中間一致(先頭・最後以外に○○を含む文字列)
パターン内容
完全一致「打ち合わせ」と一致= ‘打ち合わせ’
前方一致「打ち合わせ」で始まるlike ‘打ち合わせ%’
後方一致「打ち合わせ」で終わるlike ‘%打ち合わせ’
中間一致「打ち合わせ」を含むlike ‘%打ち合わせ%’

先ほどの例で使用したのは「後方一致」だ。

まとめ

今回は「contains」、「like」それぞれを用いて、QUERY関数で指定文字を含む行を抽出する方法について解説した。

containsは単純に「○○」を含む行を抽出するのに対して、likeは指定した位置に「○○」が含まれている行を抽出する。

containsの方が式が簡単だが、細かく指定したい場合にはlikeが便利だ。

この記事を書いた人

スプレッドシートが大好き!
毎日黒酢とナッツを摂取し、週2回以上ジムに行っています。
仕事がある日は、基本的にお昼ご飯は食べません。
節約と眠くなるのを防止するためです。
お腹がすいたらコーヒーを飲み、ガムを噛みます。
そんな成人男性です。

Demonをフォローする
関数
Demonをフォローする
Googleスプレッドシートハック

コメント