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関数はとても便利です。