クイックナビゲーション
REGEXREPLACE関数
概要
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番目の数字グループのみを***に置換。グループ選択による精密制御を示します。
よくある質問
一般的なエラーと解決策
#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