REGEXMATCH関数の使い方|複数条件の一致をスプレッドシートで判定する方法

Googleスプレッドシートで「ある文字列が含まれているかどうか」を判定したいときに便利なのが、REGEXMATCH関数です。
とくに複数の語句の存在チェックやパターンの一致を判断する場面で、正規表現(Regex)と組み合わせることで驚くほど柔軟な処理ができるようになります。

この記事では、REGEXMATCH関数の基本から、OR条件・AND条件の応用方法よくあるエラーの原因と対処法まで、実務に役立つ具体例でわかりやすく解説します。

目次

REGEXMATCH関数とは?

=REGEXMATCH(テキスト, 正規表現)
  • テキスト:検索対象となる文字列(セル参照や直接入力など)
  • 正規表現:判定したい条件のパターン(例: "特価|限定"

返されるのは TRUE または FALSE
条件に一致すればTRUE、一致しなければFALSE になります。

使い方①|正規表現で判定

=REGEXMATCH(A2, "^AB-")
  • ^AB- は「AB-で始まる文字列」という意味。
  • セル内の文字列が「AB-」で始まっていれば TRUE に。

使い方②|OR条件で判定

=REGEXMATCH(A2, "特価|限定")
  • | は「または(OR)」を意味する演算子。
  • どちらかの語句が含まれていれば TRUE が返されます。

FILTER関数などで部分一致させたいときにもおすすめ!

使い方③|AND条件で判定

=AND(REGEXMATCH(A2, "特価"), REGEXMATCH(A2, "限定"))
  • AND関数と組み合わせることで、すべての語句が含まれるかを判定。
  • 複数条件を満たす行だけを抽出できます。

特に配列関数との組み合わせに適切です!

よくある間違いと注意点

REGEXMATCH関数で正しく判定できないときは、以下のようなミスがよくあります。

① 正規表現が文字列として認識されていない

=REGEXMATCH(A2, 特価)   ← ❌ NG
=REGEXMATCH(A2, "特価") ← ✅ OK
  • 正規表現は必ず ダブルクォーテーション(” “)で囲む必要があります。
  • 直接入力した場合や別セルから参照している場合でも、文字列形式でないとエラー(#VALUE!)になります。

② セル参照先が空白や数値になっている

=REGEXMATCH(A2, B2)  ← B2が空白や数値の場合 ❌
  • 参照先(この場合B2)が空だったり、数値が入っていたりすると、正規表現として認識されません。
  • B列に正規表現を書いて管理している場合は、文字列として入力されているか確認しましょう。

③ パターンが一致せず、#N/Aエラーが出る

  • REGEXMATCHは、パターンに一致しなかった場合はFALSEになりますが、
  • 関数によっては一致しないと #N/A を返すこともあるため、組み合わせる関数によって挙動が異なります。
  • FILTER関数やARRAYFORMULAと併用する際は特に注意

よく使う正規表現まとめ

正規表現意味
^行の先頭に一致
$行の末尾に一致
.任意の1文字
.*任意の文字列
[0-9]+数字が1文字以上連続

まとめ|REGEXMATCHは条件判定の強力な味方

REGEXMATCH関数を使えば、単純な文字列検索を超えて、「特定のパターンに一致しているか」を柔軟にチェックできます。

  • OR条件:"A|B" で「どちらかに一致」
  • AND条件:AND(REGEXMATCH(...), REGEXMATCH(...))
  • 正規表現は、必ず 文字列(ダブルクォーテーション)で入力
  • セル参照時も 空白・数値に注意

文字列チェックを効率化したい場面で、REGEXMATCH関数はとても便利です。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

1994年生まれ。福岡出身、福岡育ち、福岡在住。
エンジニアを数年経験し、現在は事業会社でデータ分析業務に従事しています。
好きな物:猫、ラーメン
取得資格:基本情報技術者、G検定、統計検定2級

目次