【スプレッドシート】FILTER関数で含む・含まないといった部分一致を抽出する!

GoogleスプレッドシートのFILTER関数には、ワイルドカードを使うことができません。そこで今回はFILTER関数にREGEXMATCH関数を組み合わせて、部分一致するデータを抽出する方法を解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

FILTER関数の基本

指定した「範囲」から、「条件」と一致する行をすべて抽出します。

例:=FILTER(B2:B5,A2:A5="PDF")

FILTER関数の引数:(範囲, 条件1, [条件2, …])


💡 ポイント:FILTER関数にはワイルドカードを直接指定できないため、「〜を含む」といったあいまいな検索をしたい場合は、次に解説するREGEXMATCH関数を組み合わせます。

スポンサーリンク

FILTER関数で部分一致を抽出する

【部分一致抽出の仕組み】

  1. REGEXMATCH関数:
    • 指定した範囲内のテキストが正規表現(特定の文字パターン)と一致するかどうかを判定し、一致すれば「TRUE」、一致しなければ「FALSE」で返します。
  2. FILTER関数:
    • REGEXMATCH関数が返す範囲の中から、「TRUE」の行だけを抽出します。

REGEXMATCH関数の引数:(テキスト, 正規表現)

「〜を含む」データを抽出する

【スプレッドシート】FILTER関数で含む・含まないといった部分一致を抽出する!

REGEXMATCH関数の「正規表現」に、検索したい文字列をそのまま指定します。

例:=FILTER(B2:B5,REGEXMATCH(A2:A5,"PDF"))

「~で始まる」データを抽出する

【スプレッドシート】FILTER関数で含む・含まないといった部分一致を抽出する!

検索したい文字の前に、前方一致を表す「^」を付けます。

例:=FILTER(B2:B5,REGEXMATCH(A2:A5,"^PDF"))

「~で終わる」データを抽出する

検索したい文字の後ろに、後方一致を表す「$」を付けます。

例:=FILTER(B2:B5,REGEXMATCH(A2:A5,"PDF$"))

「~を含まない」データを抽出する

【スプレッドシート】FILTER関数で含む・含まないといった部分一致を抽出する!

否定を表すNOT関数を組み合わせることで、REGEXMATCH関数の結果を反転させます。

例:=FILTER(B2:B5,NOT(REGEXMATCH(A2:A5,"PDF")))

「AまたはB」のいずれかを含むデータを抽出する

【スプレッドシート】FILTER関数で含む・含まないといった部分一致を抽出する!

検索したい文字の間に、または(OR)を表す「|」 を入れます。

例:=FILTER(B2:B6,REGEXMATCH(A2:A6,"PDF|TXT"))

スポンサーリンク

関連記事

タイトルとURLをコピーしました