REGEXREPLACE関数は正規表現を用いてテキストの置換を行う関数である。正規表現とは、文字列を特定のパターンで表現することだ。正規表現を活用すれば、特定の文字列だけでなく、特定のパターンの文字列をすべて置換対象にできる。
目次
ExcelのREGEXREPLACE関数の使い方が分からないという人もいるのではないだろうか。REGEXREPLACE関数は正規表現を使ってテキストを置換できる関数だ。
本記事ではREGEXREPLACE関数の使い方について解説する。正規表現の基本的な意味についても詳しくまとめた。
REGEXREPLACE関数とは?

REGEXREPLACE関数は、正規表現を用いてテキストの置換を行う関数である。読み方は「レジェックス・リプレイス」。
正規表現とは文字列の表現方法の1つ。文字列をパターンで表現するときに使う。正規表現を用いれば「特定の文字列」だけでなく「特定のパターンの文字列」も含めて置換できる。
■REGEXREPLACE関数の基本的な構文
REGEXREPLACE関数の基本的な構文は次のとおり。
- =REGEXREPLACE({文字列},{正規表現},{置換後文字列})
引数の順番が少し複雑なので間違えないように注意する必要がある。
1つ目の引数に「置換前の文字列」、3つ目に「置換後の文字列」を指定する。
■正規表現の基本
正規表現では「メタ文字」と呼ばれる記号を使って文字列のパターンを表す。正規表現を勉強するには、まずメタ文字の種類を覚える必要がある。
以下に代表的なメタ文字の種類をまとめた。
| メタ文字 | 意味 |
| . | 任意の1文字 |
| * | 直前のパターンを0回以上繰り返す |
| + | 直前のパターンを1回以上繰り返す |
| ^ | 行頭(ここからはじまる) |
| $ | 行末(ここで終わる) |
| [〜] | 〜のいずれか1文字 例:[0-9]⇒0〜9の1文字 |
| [^〜] | 〜以外のいずれか1文字 例:[^0-9]⇒0〜9以外の1文字 |
| \s | 空白文字 |
REGEXREPLACE関数の基本的な使い方

REGEXREPLACE関数の基本的な使い方について解説する。
REGEXREPLACE関数で次の4つを行う方法を順番に見ていこう。
- 電話番号を数字のみにする
- 特定文字列以降を消す
- 連続する空白を1つだけにする
- 名前と名字を区切って並べ替える
■1.電話番号を数字のみにする
まず、電話番号を数字のみにする方法を解説する。
以下の例では「=REGEXREPLACE(A2,”[^0-9]”,””)」としている。
「[^0-9]」は「0から9以外の1文字」という意味である。REGEXREPLACE関数は「0から9以外の1文字」を削除しようとしている。

実行すると、電話番号の「-」が削除されて数字だけになっている。

他の行にも関数を反映させると次のとおり。

■2.特定文字列以降を消す
続いて、特定文字列以降を消す方法を解説する。
以下の例では「=REGEXREPLACE(A2,”.+組”,””)」としている
「.」は「任意の1文字」という意味である。「+」は「直前のパターンを1回以上繰り返す」という意味。つまり「.+」は「任意の1文字を1回以上繰り返す文字列」という意味である。

実行すると「〜組」の文字列が削除され、名前のみになった。

他の行にも関数を反映させると次のようになる。

■3.連続する空白を1つだけにする
続いて、空白が2つ以上続いている場合に、空白を1つだけにする方法を解説する。
以下の例では「=REGEXREPLACE(A2, “\s+”, ” “)」としている。
「\s」は「空白文字」という意味である。「+」は「直前のパターンを1回以上繰り返す」という意味。つまり「\s+」は「空白文字を1回以上繰り返す」という意味である。

実行すると、空白調整されていることが分かる。

他の行にも関数を反映させると次のようになる。

■4.名前と名字を区切って並べ替える
続いて、名前と名字を区切って並べ替える方法を解説する。
以下の例では「=REGEXREPLACE(A2,”([A-Z][a-z]+)([A-Z][a-z]+)”,”$2,$1″)」としている。
「[A-Z][a-z]+」は「先頭は大文字で、以降は小文字」という意味である。「()」はグループ化という意味なので、最初の「([A-Z][a-z]+)」は「$1」、次のは「$2」グループになる。
この正規表現では「YamadaHanako」を「$1=Yamada」「$2=Hanako」に分けている。そして、REGEXREPLACE関数で「$2,$1」という順番にしている。

実行すると「Hanako,Yamada」になっていることが分かる。

他の行にも関数を反映させると次のようになる。

まとめ
本記事ではREGEXREPLACE関数とは何かについて解説した。最後にREGEXREPLACE関数の使い方についておさらいしよう。
◯REGEXREPLACE関数の構文
- =REGEXREPLACE({文字列},{正規表現},{置換後文字列})
◯REGEXREPLACE関数の使用例
- 電話番号を数字のみにする
例:=REGEXREPLACE(A2,”[^0-9]”,””) - 特定文字列以降を消す
例:=REGEXREPLACE(A2,”.+組”,””) - 連続する空白を1つだけにする
例:=REGEXREPLACE(A2, “\s+”, ” “) - 名前と名字を区切って並べ替える
例:=REGEXREPLACE(A2,”([A-Z][a-z]+)([A-Z][a-z]+)”,”$2,$1″)
REGEXREPLACE関数は正規表現を用いて文字列の置換を行える関数だ。正規表現の意味さえ覚えれば便利に活用できる。
関連記事:Excelで文字列や数値を簡単に置換したい時に便利な「SUBSTITUTE関数」の使い方
構成/編集部







DIME MAGAZINE











