
この記事では、Excelで複数の文字列を一括置換する方法をご紹介します。SUBSTITUTE関数をネストさせる基本から、より高度なREGEXREPLACE関数(Excel 365限定)の活用まで解説します。さらに、複数範囲の同じ文字列を一括で処理する方法もご紹介しますので、ぜひお役立てください。
複数の文字を一括で置換:SUBSTITUTE関数を使う方法

SUBSTITUTE関数を使って、複数の異なる文字列を一度に置換したい場合は、SUBSTITUTE関数を入れ子(ネスト)にして使用します。
例えば、セルA2の「ab-c-d!」という文字列に含まれる「–」と「!」を、どちらも空の文字列(””)に置換したい場合、数式は以下のようになります。
例:=SUBSTITUTE(SUBSTITUTE(A2,"-",""),"!","")
この数式では、まず内側の SUBSTITUTE(A2,"-","")
によって、セルA2の「-」が空の文字列に置換されたテキストが生成されます。次に、その結果が外側のSUBSTITUTE関数の「検索対象のテキスト」として渡され、そこから「!」が空の文字列に置換されるという仕組みです。
SUBSTITUTE関数の引数:(文字列, 検索文字列, 置換文字列, [置換対象])
複数の文字を一括で置換:REGEXREPLACE関数を使う方法
はじめに、REGEXREPLACE関数は、Microsoft 365のExcelでのみ利用可能です。
Excel 2019、Excel 2016などには、REGEXREPLACE関数は搭載されていないため、SUBSTITUTE関数をネストする方法をご参照ください。

REGEXREPLACE関数は、正規表現を使って文字列を検索し、一致した部分を新しい文字列に置換します。
正規表現とは、あいまいな文字列を検索するための手法の 1 つで、メタキャラクタ(メタ文字)という記号を使って、文字列のパターンを表現します。
例えばセルA2の「ab-c-d!」という文字列に含まれる「–」と「!」を、どちらも空の文字列(””)に置換したい場合、数式は以下のようになります。
例:=REGEXREPLACE(A2,"[-!]","")
このように、角かっこ []
の中に置換したい複数の文字をまとめて処理できるのが、REGEXREPLACE関数の特徴です。
REGEXREPLACE関数の引数:(文字列, 正規表現, 置換文字列)
複数範囲の文字列を同時に置換:検索と置換を使う方法

複数範囲の同じ文字列を同時に置換したい場合、以下の手順で操作を行います。
- 置換対象のテキストが入力された範囲を選択します。
- キーボードの Ctrl + H (Macの場合は Command + Option + F)を押して、「検索と置換」を開きます。
- 「検索」欄に、置換したい文字列を入力します(例:「-」)。
- 「置換」欄に、置換後の文字列を入力します(例:削除したい場合は空欄にします)。
- 「すべて置換」をクリックします。

例えば、検索する文字列が「-」で、置換後の文字列を空欄にした場合、選択した範囲内の文字列は以下のように変わります。
- a-b→ab
- c-d-e→cde