ADVERTISEMENT

【Googleスプレッドシート】特定文字を含むセルを強調!REGEXMATCHでの条件指定

【Googleスプレッドシート】特定文字を含むセルを強調!REGEXMATCHでの条件指定
🛡️ 超解決

スプレッドシートで特定の文字列を含むセルを目立たせたい場面はよくあります。例えば、メールアドレスに特定のドメインが含まれる行を色分けしたり、商品コードに特定のパターンがあるセルを強調したい場合です。REGEXMATCH関数を使えば、正規表現で柔軟に条件を指定して条件付き書式を設定できます。この記事では、REGEXMATCHを用いた条件付き書式の具体的な手順と、よくある注意点を解説します。

【要点】REGEXMATCHで条件付き書式を設定するポイント

  • カスタム数式に =REGEXMATCH(範囲セル, “正規表現”): 条件付き書式のルールで正規表現を使い、特定パターンに一致するセルを強調できます。
  • 正規表現はダブルクォーテーションで囲む: 検索パターンを文字列として指定し、部分一致で動作します。大文字小文字はデフォルトで区別しません。
  • 複数条件はORまたはANDで組み合わせる: +や*を使って複数のパターンを指定したり、別の関数と組み合わせて複雑な条件も設定できます。

ADVERTISEMENT

REGEXMATCH関数が条件付き書式で活躍する仕組み

REGEXMATCH関数は、指定した文字列が正規表現パターンに一致するかどうかをTRUEまたはFALSEで返します。条件付き書式のカスタム数式としてこの関数を使うと、一致するセルだけに書式を適用できます。正規表現を使うことで、部分一致や位置指定、文字クラスなど高度な検索が可能です。例えば「@gmail.com」で終わるセルや、「東京」で始まるセルなど、単純な部分一致では難しい条件も柔軟に扱えます。

REGEXMATCHで条件付き書式を設定する手順

ここでは、スプレッドシートで特定の文字を含むセルに色を付ける手順を解説します。サンプルとして、メールアドレスの列から「@example.com」を含むセルを黄色に塗る方法を例にします。

  1. 範囲を選択する
    強調したいセル範囲を選択します。例としてA2:A100を選択します。先頭セル(A2)がアクティブセルになるようにしてください。
  2. 条件付き書式を開く
    メニューから「書式」→「条件付き書式」をクリックします。画面右側にルール設定パネルが開きます。
  3. カスタム数式を選択する
    「セルの書式設定の条件」で「カスタム数式」を選びます。数式入力欄が表示されます。
  4. REGEXMATCHの数式を入力する
    数式欄に =REGEXMATCH(A2, "@example\.com") と入力します。先頭セルを基準に相対参照で指定します。正規表現ではドットは任意の文字に一致するため、エスケープ(\.)が必要です。
  5. 書式スタイルを設定する
    「書式スタイル」で塗りつぶしの色や文字色を選びます。ここでは黄色の塗りつぶしを選択します。
  6. ルールを保存する
    「完了」をクリックすると、条件に合うセルが強調表示されます。設定後は範囲を変更したい場合は、条件付き書式パネルで編集できます。

バリエーション:特定の文字列で始まるセルを強調する

先頭が「東京都」で始まるセルを強調するには、正規表現の先頭を表す^を使います。数式は =REGEXMATCH(A2, "^東京都") です。同様に末尾を指定する$も使えます。例えば「.jp」で終わるセルは =REGEXMATCH(A2, "\.jp$") とします。

バリエーション:複数の文字列のいずれかを含むセルを強調する

OR条件で複数のパターンに一致するセルを強調するには、正規表現のパイプ記号「|」を使います。例えば「apple」「banana」「orange」のいずれかを含むセルは、=REGEXMATCH(A2, "apple|banana|orange") と指定します。

バリエーション:数字のみのセルを強調する

文字クラスと量指定子を使うと、数字のみのセルを強調できます。例えば5桁の半角数字にマッチさせるには =REGEXMATCH(A2, "^\\d{5}$") とします。バックスラッシュをエスケープするため2重になります。

REGEXMATCHを使うときの注意点とよくある失敗例

正規表現の構文エラーで数式が認識されない

正規表現に誤ったパターンを指定すると、条件付き書式の数式が無効と判定されます。特にメタ文字(* + ? . ^ $ [ ] ( ) { } \ |)は必要に応じてエスケープしてください。例えば「(株)」を検索したい場合は =REGEXMATCH(A2, "\\(株\\)") のように丸括弧をエスケープします。

大文字と小文字の区別ができない

デフォルトではREGEXMATCHは大文字小文字を区別しません。区別したい場合は正規表現内で(?-i)フラグを使うか、条件式を工夫します。例えば=REGEXMATCH(A2, "(?-i)Apple")とすると「Apple」のみに一致し、「apple」には一致しません。

部分一致ではなく完全一致で判定したい場合

REGEXMATCHは部分一致で動作するため、セル全体がパターンと一致するかどうかを確認するには、行頭^と行末$で囲みます。例えば「東京都」のみに一致させたい場合は =REGEXMATCH(A2, "^東京都$") とします。

空白セルが強調されてしまう

空白セルもREGEXMATCHの対象になるため、意図せず書式が適用されることがあります。空白を除外するには、条件に空文字でないことを追加します。例えば =AND(A2<>"", REGEXMATCH(A2, "パターン")) とAND条件で組み合わせます。

ADVERTISEMENT

REGEXMATCHとFIND関数・SEARCH関数の比較

関数 検索方法 正規表現 大文字小文字区別 返り値
REGEXMATCH 部分一致(正規表現) 対応 区別しない(オプション可) TRUE/FALSE
FIND 完全一致(部分位置) 非対応 区別する 位置(数値)
SEARCH 部分一致(ワイルドカード) 非対応(ただし?と*使用可) 区別しない 位置(数値)

条件付き書式で使う場合、REGEXMATCHはTRUE/FALSEを返すため直接カスタム数式に利用できます。FINDやSEARCHは数値(位置)を返すため、ISNUMBERと組み合わせて使う必要があります。正規表現が必要な場合や複雑なパターンマッチにはREGEXMATCHが適しています。

まとめ

REGEXMATCHを使った条件付き書式で、特定の文字列パターンを含むセルを簡単に強調できます。正規表現の知識を少し身につければ、部分一致や先頭・末尾の指定など柔軟な条件設定が可能です。ぜひ、実際のデータで試して、効率的なデータ可視化に役立ててください。次は複数の条件を組み合わせたカスタム数式や、他の正規表現関数(REGEXEXTRACT、REGEXREPLACE)との連携にも挑戦してみましょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。