REGEXREPLACE関数

Excel 365, Excel 2021, Excel 2019

概要

REGEXREPLACE関数は、正規表現(regex)を使用して文字列内の指定パターンを別の文字列に置き換える高度なテキスト処理関数です。電話番号のマスキングやデータ整形、名前順序の変更など、複雑な文字列操作を効率的に実行できます。

構文

REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity])

パラメータ

パラメータ タイプ 必須 説明
text Text はい 置換対象となる文字列またはセル参照。処理対象のテキストを指定します。
pattern Text はい 正規表現パターン。正規表現記法でマッチさせるパターンを記述します。
replacement Text はい 置換テキスト。パターンにマッチした部分をこの文字列で置き換えます。
occurrence Number いいえ 置換インスタンス番号。0で全置換、1以上でN番目、負数で末尾からN番目。
case_sensitivity Number いいえ 大文字小文字区別設定。0=区別する(既定)、1=区別しない。

REGEXREPLACE関数の使用

REGEXREPLACEはExcel 365で利用可能な最新の正規表現関数です。従来のSUBSTITUTE関数では不可能な複雑なパターン置換を実現し、データクリーンアップやテキスト整形に最適です。PCRE2規格の正規表現に対応しており、専門的な文字列処理が可能です。

REGEXREPLACEの一般的な例

電話番号の最初の数字を***に置換(匿名化)

=REGEXREPLACE(A2,"[0-9]+-","***-")

電話番号の市外局番部分を***に置換し、個人情報を保護します。複数の電話番号が含まれるテキストでも一括処理可能。

名前の順序を姓→名前に変更

=REGEXREPLACE(A2,"([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1")

キャプチャグループを使用して名前の順序を逆転。$1、$2でグループ参照を実現し、動的置換を実行。

特定位置の数字のみ置換

=REGEXREPLACE("Order123-456","(\d+)(\D)(\d+)","$1***$3")

3番目の数字グループのみを***に置換。グループ選択による精密制御を示します。

よくある質問

常にテキスト値を返します。数値として使用する場合はVALUE関数で変換してください。

0を指定すると、すべてのマッチするインスタンスが置換されます(既定値)。

括弧()でグループ化し、replacementで$1、$2のように参照します。

Excel 365、Excel 2021、Excel 2019でのみ利用可能です。

一般的なエラーと解決策

#NAME? エラー

Cause: REGEXREPLACE関数が利用できないExcelバージョン

Solution: Excel 365または2021以降のバージョンを使用してください。

無効な正規表現

Cause: pattern引数に正規表現の構文エラー

Solution: PCRE2規格の正規表現記法を確認し、構文を修正してください。

引数が不足

Cause: 必須引数(text, pattern, replacement)が省略

Solution: 3つの必須引数をすべて指定してください。

注記

  • PCRE2規格の正規表現を使用(REGEXTEST、REGEXEXTRACTと共通)
  • よく使用されるトークン:[0-9](数字)、[a-z](小文字)、.(任意文字)、*(0回以上)、+(1回以上)
  • replacementで$&(マッチ全体)、$1〜$9(キャプチャグループ)を参照可能
  • パフォーマンスのため、複雑なパターンでは大規模データに注意

互換性

利用可能: Excel 365, Excel 2021, Excel 2019

利用不可: Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003以前

コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021, Excel 2019