スプレッドシートで特定の文字列を含むセルを目立たせたい場面はよくあります。例えば、メールアドレスに特定のドメインが含まれる行を色分けしたり、商品コードに特定のパターンがあるセルを強調したい場合です。REGEXMATCH関数を使えば、正規表現で柔軟に条件を指定して条件付き書式を設定できます。この記事では、REGEXMATCHを用いた条件付き書式の具体的な手順と、よくある注意点を解説します。
【要点】REGEXMATCHで条件付き書式を設定するポイント
- カスタム数式に =REGEXMATCH(範囲セル, “正規表現”): 条件付き書式のルールで正規表現を使い、特定パターンに一致するセルを強調できます。
- 正規表現はダブルクォーテーションで囲む: 検索パターンを文字列として指定し、部分一致で動作します。大文字小文字はデフォルトで区別しません。
- 複数条件はORまたはANDで組み合わせる: +や*を使って複数のパターンを指定したり、別の関数と組み合わせて複雑な条件も設定できます。
ADVERTISEMENT
目次
REGEXMATCH関数が条件付き書式で活躍する仕組み
REGEXMATCH関数は、指定した文字列が正規表現パターンに一致するかどうかをTRUEまたはFALSEで返します。条件付き書式のカスタム数式としてこの関数を使うと、一致するセルだけに書式を適用できます。正規表現を使うことで、部分一致や位置指定、文字クラスなど高度な検索が可能です。例えば「@gmail.com」で終わるセルや、「東京」で始まるセルなど、単純な部分一致では難しい条件も柔軟に扱えます。
REGEXMATCHで条件付き書式を設定する手順
ここでは、スプレッドシートで特定の文字を含むセルに色を付ける手順を解説します。サンプルとして、メールアドレスの列から「@example.com」を含むセルを黄色に塗る方法を例にします。
- 範囲を選択する
強調したいセル範囲を選択します。例としてA2:A100を選択します。先頭セル(A2)がアクティブセルになるようにしてください。 - 条件付き書式を開く
メニューから「書式」→「条件付き書式」をクリックします。画面右側にルール設定パネルが開きます。 - カスタム数式を選択する
「セルの書式設定の条件」で「カスタム数式」を選びます。数式入力欄が表示されます。 - REGEXMATCHの数式を入力する
数式欄に=REGEXMATCH(A2, "@example\.com")と入力します。先頭セルを基準に相対参照で指定します。正規表現ではドットは任意の文字に一致するため、エスケープ(\.)が必要です。 - 書式スタイルを設定する
「書式スタイル」で塗りつぶしの色や文字色を選びます。ここでは黄色の塗りつぶしを選択します。 - ルールを保存する
「完了」をクリックすると、条件に合うセルが強調表示されます。設定後は範囲を変更したい場合は、条件付き書式パネルで編集できます。
バリエーション:特定の文字列で始まるセルを強調する
先頭が「東京都」で始まるセルを強調するには、正規表現の先頭を表す^を使います。数式は =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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
