REGEXREPLACE関数の使い方|決まった形の部分をまとめて置き換える
※写真はイメージです
書き方
=REGEXREPLACE(テキスト, 正規表現, 置換)セルの文字の中で、正規表現(文字の形のルール)に合う部分を全部、別の文字に置き換えます。置き換える先を "" にすると、消すことになります。
引数の意味
| 引数 | 入れるもの | 図の例 |
|---|---|---|
| テキスト | 元の文字 | A2 |
| 正規表現 | 置き換えたい形 | "-" |
| 置換 | 置き換えたあとの文字。"" で消す | "" |
数字以外を全部消す
=REGEXREPLACE(A2, "[^0-9]", "")「(042) 000-1234」のように、かっこや空白がまざっていても数字だけ残ります。[^0-9] は「数字以外の1文字」という意味です。
全角・半角の空白をまとめて消す
=REGEXREPLACE(A2, "[\s ]", "")半角の空白・タブ(\s)と、全角の空白( )をまとめて消します。名前の「山田 太郎」をつなげたいときなどに。
並べ替える($1・$2)
=REGEXREPLACE(A2, "(\S+)\s+(\S+)", "$2 $1")( ) で囲んだ部分を $1・$2 で呼び出せます。「Taro Yamada」を「Yamada Taro」に入れ替える、のような使い方です。
うまくいかないとき
1#VALUE!(数値のセル)
セルの中身が数値です。
直し方A2&"" にして文字として渡します。
2全角のハイフン(-)が消えない
半角の - だけを指定しています。
直し方"[--‐ー]" のように、まぎらわしい横棒もまとめて書きます。
使えるバージョン
Googleスプレッドシートだけの関数です。Excelにはありません。
Excelでは
Excel(Microsoft 365)にも、2024年から同じ名前の REGEXREPLACE が入りました。正規表現を使わないなら SUBSTITUTE で同じ文字を置き換えられます。
よくある質問
ハイフンを消すには?
=REGEXREPLACE(A2,"-","") です。全角も消すなら "[--]" にします。
SUBSTITUTEとのちがいは?
SUBSTITUTEは決まった文字だけ、REGEXREPLACEは「数字以外」のような形で指定して置き換えられます。
先頭の0が消えますか?
結果は文字なので消えません。
一緒に覚えたい関数・操作
このページについて
操作の説明は、パソコンのブラウザで開いた日本語のGoogleスプレッドシートに合わせています。関数の働きはGoogleの公式ヘルプ(スプレッドシートの関数リスト)で確かめています。図はこのサイトで作ったもので、表の会社名・商品名・人名・URLは例です。このサイトはGoogleとは関係ありません。運営者情報