SUBSTITUTE関数の構文と使用例 -文字列の置換-

SUBSTITUTE関数の構文と使用例 -文字列の置換の記事のアイキャッチ画像。

本記事はSUBSTITUTE関数を解説します。
SUBSTITUTE関数はEXCEL 365、EXCEL 2016以降で利用可能です。

EXCELのSUBSTITUTE関数は、「サブスティチュート関数」と呼びます。
指定された文字列内のテキストを別のテキストで置換1するために使用されます。

SUBSTITUTEは「代替する」から来ており、
代替する」→「置換」を意味します。

Microsoft Excelの「文字列操作関数」のカテゴリに属します。

こんな時に便利!

SUBSTITUTE関数を使わない場合、
手動で文字列を修正する必要があり、時間がかかる上にミスが発生しやすくなります。

SUBSTITUTEを使うと、文字列内の特定のパターンやキーワードを簡単に一括で置換できます。

例えば、ある文章の中で「犬」を「猫」に一括で置き換えられます

SUBSTITUTE関数の使用イメージ

SUBSTITUTE関数の機能と構文

機能

[関数の挿入ダイアログ]から見るSUBSTITUTE関数の機能説明

[関数の検索]のテキスト内に、
「SUBSTITUTE」と入力し、[検索開始]をクリックすると、関数がヒットします。
詳細の使用法に興味のある方はタブ[参考記事]をご拝読ください。

文字列中の指定した文字を新しい文字で置き換えます。

[関数の挿入]ダイアログより

指定された文字列内のテキストを別のテキストで置換する機能を持っています。
この関数は、例えば文書内の特定の言葉を別の言葉に一括で置換する際に非常に役立ちます。

SUBSTITUTE関数は、指定した文字列を新しい文字列に置換できる関数です。

“SUBSTITUTE”は「代替する」から来ており、
代替する」→「置換」を意味します。

構文

[関数の引数]ダイアログボックスから見るSUBSTITUTE関数の構文

=SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象]) ※[]は省略可能です

指定した文字列内の検索文字列置換文字列SUBSTITUTE(置換)する機能を持っています。

置換対象は、文字列内で検索文字列が複数回ヒットした場合の挙動に対する設定を行います。

第1引数:文字列

SUBSTITUTE関数の構文,[関数引数]ダイアログボックス,第1引数:文字列

文字列 には置き換える文字を含む文字列、または目的の文字列が入力されたセル参照を指定します。

[関数の引数]のダイアログボックスより

第1引数には、置換対象となる元の文字列を指定します。この文字列はセル参照や直接入力が可能です。

第2引数:検索文字列

SUBSTITUTE関数の構文,[関数引数]ダイアログボックス,第2引数:開始位置

検索文字列 には置き換え前の文字列を指定します。検索文字列と置換文字列の大文字小文字の表記が異なる場合、文字列は置換されません。

[関数の引数]のダイアログボックスより

第2引数には、置換を開始する位置を指定します。これは元の文字列内の開始位置を示します。

元の文字列内で置換したい部分、つまり置換の対象となる文字列(≒検索文字列)を指定します。

置換の対象を検索するから、検索文字列なんだよ

第3引数:置換文字列

SUBSTITUTE関数の構文,[関数引数]ダイアログボックス,第3引数:文字数

置換文字列 には置き換え後の文字列を指定します。

[関数の引数]のダイアログボックスより

第3引数には、置換文字列を指定します。
検索文字列を検索して置き換える新しい文字列を指定します。

第4引数:置換対象

SUBSTITUTE関数の構文,[関数引数]ダイアログボックス,第4引数:置換文字列

置換対象 には文字列に含まれるどの検索文字列を置換文字列に置き換えるかを指定します。
省略された場合は、文字列中のすべての検索文字列が置き換えの対象となります。

[関数の引数]のダイアログボックスより

上記の通りですが、改めて下記にもまとめています。



置換対象を指定した場合:

検索文字列文字列内に複数回出現する場合、置換対象に指定した数値に一致する順番の出現のみを置換します。
例えば、3を指定すれば3番目に出現する検索文字列のみが置換されます。

置換対象を指定しない場合:

置換対象を指定しない場合検索文字列に一致するすべての部分が置換文字列に置換されます。


SUBSTITUTE関数の使用例

今回は、「私の犬はとても賢く、犬は家族の一員です」という文を使用します。

文中の「犬」を「猫」に置き換える例です。

さらに、第4引数を省略した場合と指定した場合の違いを示します。

第4引数を省略すると文中の全ての「犬」が「猫」に置き換わりますが、
指定することで特定の「犬」だけを対象とする置換が可能になります。

基本操作

A2セルに「私の犬はとても賢く、犬は家族の一員です」が入力されています。

第4引数を省略した場合

関数式:

=SUBSTITUTE(“私の犬はとても賢く、犬は家族の一員です。”, “犬”, “猫”)

この例では、第4引数を省略しているため、
文中に出現する「犬」という単語すべてが「猫」に置き換えられます。

戻り値:

私の猫はとても賢く、猫は家族の一員です。

[関数の引数]ダイアログボックス:

[関数の挿入]ダイアログボックスによる、第4引数を省略した場合のSUBSTITUTE関数の引数入力結果

第4引数を指定した場合(第2の「犬」のみを置き換える)

関数式:

=SUBSTITUTE(“私の犬はとても賢く、犬は家族の一員です。”, “犬”, “猫”, 2)

“”この例では、第4引数を省略しているため、
文中に出現する「犬」という単語すべてが「猫」に置き換えられます。”この例では、第4引数を省略しているため、
文中に出現する「犬」という単語すべてが「猫」に置き換えられます。

戻り値:

私の猫はとても賢く、猫は家族の一員です。

[関数の引数]ダイアログボックス:

[関数の挿入]ダイアログボックスによる、第4引数を指定した場合のSUBSTITUTE関数の引数入力結果

文字列の場合は、ダブルクォーテーション(”)で囲みます。

最後に

SUBSTITUTEは「代替する」から来ており、「代替する」→「置換」を意味します。

指定された文字列内のテキストを別のテキストで置換する機能を持っています。
この関数は、例えば文書内の特定の言葉を別の言葉に一括で置換する際に非常に役立ちます。

また、ExcelのREPLACE関数は、EXCEL 365、EXCEL 2016以降で利用可能です。

文字列を効率的に変更したい時に、この記事を参考にしてください。

空白を削除するには、置換文字列を「””」にします。
つまり、空白を空の文字列に置換するという考え方です。


参考記事

Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。

構文に関する記事

Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。

ダイアログボックスの使い方に関する記事

Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。

参照形式に関する記事

関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。


  1. 文字列を他の文字列に置き換えること。例えば、「こんにちは世界」という文字列があって、「世界」を「みんな」と置き換えたい場合、置換機能を使って「こんにちはみんな」という新しい文字列を作ることができます。
    ↩︎