セル内の文字を置換したい時の関数 SUBSTITUTEとREPLACE

セル内の文字を置換したい時の関数 SUBSTITUTEとREPLACE

エクセルでセルに入力済のデータで、特定の文字を置き換えたくなる時があります。

一部の文字を置き換えたい時

例えば、

東京支部

大阪支部

沖縄支部

・・

のようなデータで、「支部」を「事業部」に変更したい場合などですね。

このように、一部の文字を置換したい時は、SUBSTITUTEという関数を使うと便利です。

構文 =SUBSTITUTE(文字列, 検索文字列, 置換文字列, 置換対象)

置換したい文字が1つの場合は、引数で「置換対象」は省略できます。

参考までに、各引数の説明は以下のとおり。

文字列:
検索の対象となるもとの文字列を指定します。数値を直接指定することもできます。

検索文字列:
[文字列]のなかから検索する文字列を指定します。数値を直接指定することもできます。

置換文字列:
[文字列]のなかで見つかった[検索文字列]と置き換える文字列を指定します。数値を直接指定することもできます。

置換対象:
[文字列]のなかで、複数の[検索文字列]が見つかったときに、何番目の文字列を置き換えるかを指定します。省略した場合、すべての[検索文字列]が[置換文字列]に置き換えられます。

指定した文字の位置から指定文字数分を置き換えたい時

しかし、単純に特定の文字を置換する時はSUBSTITUTEでいいのですが、特定の位置から何文字分というような範囲で置き換えをしたい場合は、REPLACE関数を使います。

たとえば、以下のように口座情報の末尾を一括で置き換えしたりするシーンなどで便利です。

横浜  045-2222222  ⇒ 045-9999999

名古屋  052-5555555  ⇒ 052-9999999

京都  075-7777777  ⇒ 075-9999999

構文 REPLACE(文字列, 開始位置, 文字数, 置換文字列)

 

また、REPLACE関数には次の2種類がありますので、目的に応じて使い分けてもいいと思います。

REPLACE
[文字列]の[開始位置]から[文字数]分の文字列を[置換文字列]に置き換えて表示します。

REPLACEB
[文字列]のなかの[開始位置]から[バイト数]分の文字列を[置換文字列]に置き換えて表示します。

REPLACEBも、構文はREPLACEと一緒です。