データ整理や入力ミスの修正など、Excelで文字列を置換したい場面は多くあります。Excelの置換機能も便利ですが、元データを残したまま関数で自動処理したいならSUBSTITUTE関数が強力です。この記事ではExcel SUBSTITUTE 置換 使い方の基礎から応用まで、ネスト(入れ子)処理や複数置換、インスタンス指定など、データ加工やクリーニングで役立つ最新情報を実例とともに詳しく解説します。読み終えると一括置換が自在にできるようになります。
目次
Excel SUBSTITUTE 置換 使い方の基本:関数の定義と構文
まずはExcel SUBSTITUTE 関数の基本を理解しましょう。SUBSTITUTE関数は指定した文字列内の特定の文字列(検索文字列)を別の文字列(置換文字列)に置き換えるための関数です。元のデータを保ったまま表示を変えることができるため、データの整形やクリーニングに適しています。構文は4つの引数で構成され、ひとつ目は対象文字列、ふたつ目は検索文字列、みっつ目は置換文字列、そして四つ目は置換する**何番目のインスタンスか**を指定するオプションの引数です。四つ目を省略するとその検索文字列が現れるすべてを置換します。
構文の書き方
=SUBSTITUTE(text, old_text, new_text, [instance_num]) という形式で記述します。textにはセル参照または文字列、old_textとnew_textは文字列、instance_numは1,2,3…と指定してその回数目の一致のみを置換するようにします。全ての一致を置換したいならinstance_numは省略可です。
引数それぞれの意味
「text」は置換対象の文字を含む文字列またはセルを指します。「old_text」が元の文字列で、「new_text」が置換後の文字列です。「instance_num」の指定があると、例えば三番目に出てくる特定のold_textだけをnew_textに変えたい場合などに使えます。指定なしならすべて置換されます。
基本的な置換の例
例として、「東京都中央区」という文字列から「中央」を「新宿」に変えたい場合、=SUBSTITUTE(“東京都中央区”, “中央”, “新宿”) と入力すると「東京都新宿区」になります。スペース削除などは old_text に半角または全角の空白を指定し new_text を空文字列とすることで対応可能です。
使いこなし応用編:複数置換や入れ子構造の活用

複数の検索文字列を一度に置換したい場合や、特定の場所だけを置換したいケースがあります。そのような場合もSUBSTITUTE関数をネスト(入れ子)にしたり、組み合わせて使うことで柔軟に対応できます。最新バージョンでは配列や動的関数と組み合わせて業務効率を大幅に改善するテクニックも利用可能です。
入れ子で複数の文字列を同時に置換する
検索文字列 A と B をそれぞれ別な置換先に変えたい場合、SUBSTITUTE をネストします。たとえば =SUBSTITUTE(SUBSTITUTE(text, “A”, “置換A”), “B”, “置換B”) のように中から処理が進み、両方の文字列が置換されます。複数あるほどネストが深くなりますが、処理の順序を意識することで想定外の結果を防げます。
インスタンス指定で部分的に置換する
文字列内に同じ old_text が複数あり、そのうち特定の回だけ置換したいなら instance_num を使います。例として、「と」が3回現れる語句で「3回目だけ★に変えたい」といった場合です。instance_num を 3 に指定すればその回だけ置換され、他の回はそのまま残ります。
複数置換を自動化:配列・LAMBDA・REDUCE の活用
最新バージョンでは配列を使って置換対象と置換後のリストを持たせ、REDUCE や LAMBDA 関数と組み合わせて多数の置換を一つの式で自動処理できます。検索リストと置換リストを別セルに用意し、それを順次適用する構造で、管理や修正が簡単になります。
実践例付き:実務で使えるExcel SUBSTITUTE 置換 使い方テクニック

実際のデータでどう使うか具体例を見ると理解が深まります。ここでは住所の表記統一、スペース・記号の除去、電話番号の形式変換など、よくある業務に即した応用例を紹介します。データ入力ミスの多い表などで特に有効です。
住所表記の統一
「丁目」「番地」「号」などの表記ゆれを統一したい場合、複数の SUBSTITUTE を組み合わせて標準の表記にまとめます。入れ子の SUBSTITUTE を用い、「丁目」を「‐丁目」などの形式で統一したり、「区」を省略形にするなどの置換を一つの式で行うと便利です。すべて対象セルにオートフィルで適用できます。
スペース・記号のクリーンアップ
データ中に不要な全角スペースや記号(丸括弧やハイフンなど)が混じっているケースがあります。SUBSTITUTE を使うことでそれらを削除または置き換えできます。たとえば =SUBSTITUTE(text, “ ”, “”) で全角スペース除去、=SUBSTITUTE(text, “-“, “”) でハイフンを削除などが可能です。
電話番号などの形式整形
電話番号に「‐」「スペース」「括弧」が混在しているケースでは SUBSITUTE を数段使い、すべてを数字だけの形式に揃えます。たとえば入れ子で複数の SUBSTITUTE 関数を重ねて「(」「)」「-」「 」をそれぞれ空文字に置換するときれいな番号形式に整形できます。
注意点と限界:SUBSTITUTE関数を使う際のポイント
SUSBSTITUTE を使う際は動作の仕様や制約を理解しておくことで誤った結果を避けられます。大文字小文字の区別やワイルドカード非対応、パフォーマンスの低下など、置換対象が多い場合に知っておきたいポイントがあります。適切に使えば強力ですが、誤用すると思わぬエラーや間違いが起こります。
大文字・小文字の区別(ケースセンシティブ)
SUBSTITUTE 関数は大文字と小文字を区別します。検索文字列が「A」であれば、小文字「a」は一致とみなされません。この性質をうまく活かすと意図的に文字の一致を制御できますが、大小文字の区別を無視したい場合には別関数を併用する工夫が必要です。
ワイルドカード(* や ?)が使えない
SUBSTITUTE ではワイルドカードは機能しません。部分一致やパターン一致が必要な場合には REGEX 関数(対応するバージョンがあれば)を使うか、別途検索と置換機能を併用する方法が考えられます。パターンに柔軟性が必要なケースでは注意が必要です。
パフォーマンスと式の見通し
ネストが深くなるほど式が長くなり管理が大変になります。多数の SUBSTITUTE を入れ子にしたり、複数のセルに複雑な式を多数配置すると処理速度が低下する場合があります。式の整理や補助列の活用、または動的配列関数を使えるバージョンではそれを活用することを考慮するべきです。
Excel SUBSTITUTE と置換機能との比較:どちらを使うべきか

Excel にはメニュー操作で文字列を検索・置換できる機能があり、手軽さではこの機能が魅力です。一方で関数である SUBSTITUTE には他にはないメリットがあります。どちらを使うかは目的と状況次第です。以下に比較表を示します。
| 機能 | SUBSTITUTE 関数 | 検索と置換機能(置換ダイアログ) |
|---|---|---|
| 元データを保持するか | 元のセルを変えずに別セルで結果表示可能 | 全セルが直接変更され、元に戻す必要がある場合もある |
| インスタンス指定 | 可能(検索文字列の何番目かを指定できる) | すべての一致を一斉に置換するのみ、細かい指定はできない |
| 一括・複数の置換 | ネストや配列関数で対応可能だが式が複雑になる | 複数の検索→置換を一度に設定できない(一度に一ペアのみ) |
| アクセスの手軽さ | 式を入力する必要あり、慣れがいる | UI操作で直感的に使える、初心者に優しい |
バージョン別対応と最新関数との連携
Excel のバージョンによっては SUBSTITUTE を補完する機能や、より高度な置換を簡単にする動的関数があります。バージョンが新しいほどこれらが使える率が高いため、使用環境に応じて最適な使い方を選ぶことが重要です。
Excel バージョン別の対応状況
Excel 2010~2019、Excel for Microsoft 365、オンライン版などほぼすべてのバージョンで SUBSTITUTE 関数がサポートされています。旧バージョンでも基本的な入れ子や文字列置換は可能ですが、配列関数や LAMBDA を使った処理は動的配列に対応したバージョンでのみ快適に使えます。
動的配列関数との組み合わせ術
最新の Excel では REDUCE、LAMBDA、LET、SEQUENCE など、動的配列処理を行う関数が利用可能です。これらを SUBSTITUTE と組み合わせることで、複数置換を一つの式で動的に処理でき、管理性も向上します。検索置換ペアをテーブルで管理すれば、追加変更も簡単です。
REGEX 関数などその他の代替手段
パターンマッチングや正規表現が必要なら REGEXREPLACE 関数が使えるバージョンではそちらが強力です。たとえばワイルドカードや数字や文字の集合に基づく置換などは REGEXREPLACE のほうが簡潔に記述できます。SUBSTITUTE が苦手とするパターンを扱いたいときはこの代替手段を検討してください。
よくある質問:Excel SUBSTITUTE 置換 使い方に関する疑問
SUBSTITUTE関数を使う際、初心者や中級者から寄せられる質問を集めました。こうした疑問を解消することで使いこなし度が上がります。仕様やトラブル対応などをまとめていますので、困った時の指針としてご活用ください。
置換対象が空文字列やゼロ長文字列の場合はどうなるか
置換文字列を空文字列(””)に指定すると、その検索文字列部分が削除されます。スペースや記号など余計なテキストを取り除きたいケースでよく使われます。ただし、削除後の文字列が空になることや、意図しない部分が消えてしまうことがあるため、この操作は慎重に行う必要があります。
検索文字列が見つからないときの出力
検索文字列 old_text が target の text に存在しない場合、SUBSTITUTE は元の文字列をそのまま返します。エラーにはなりません。これを活用して、検索文字列の有無を判定するような条件付き式を組むことも可能です。
扱えない文字・制御文字などの特殊ケース
改行コードや非表示の空白、タブ文字など目に見えない文字の置換には注意が必要です。改行は CHAR 関数(例えば CHAR(10))と組み合わせて置換できますが、環境によって改行コードの扱いが異なることもあります。制御文字が混じっているデータを整える際はまず改行やタブを可視化して取り扱いましょう。
まとめ
Excel SUBSTITUTE 関数は文字列中の指定テキストを別の文字列に置換するための基本かつ重要なツールです。構文=SUBSTITUTE(text, old_text, new_text, [instance_num]) の理解から始め、ネスト処理や複数置換、動的配列との連携といった応用までマスターすればデータ処理の効率が格段に上がります。使うバージョンに応じて REGEX 関数などの代替手段を知っておくことも役立ちます。
置換機能との比較や注意点を把握し、目的に応じて正しく使い分けることがポイントです。文字列の表記ゆれや不要な記号の除去、住所や電話番号のフォーマット統一など、SUBSTITUTE は業務効率化に大きく貢献しますので、ぜひ実践してみてください。
コメント