Excel SUBSTITUTE関数で複数の文字列を置換する方法

2020年12月11日

文字列を特定の文字列に置き換えるSUBSTITUTE関数

1つの文字列にのみ対応しており複数文字列は不可能です。

そこでマクロを使わずに複数の文字列を置換する方法を紹介します。

手順

SUBSTITUTE関数は結果として置換後の文字列を返します。

そしてその置換後文字列を更にSUBSTITUTE関数の引数として使うことが可能です。

よってSUBSTITUTE関数を多重にすれば複数文字列の置換が可能です。

複数のセルで実施

「いぬ:ねこ:すずめ:きんぎょ」を、一つずつ漢字に置換していきます。

まず「いぬ」を「犬」に置換します。

「いぬ」を「犬」に置換

そのセルを更にSUBSTITUTE関数で置換します。

全てを置換する方法

これを繰り返せば複数の置換が完了します。

単一のセルで実施

一つのセルにSUBSTITUTE関数を複数書いても有効です。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,"いぬ","犬"),"ねこ","猫"),"すずめ","雀"),"きんぎょ","金魚")
単一セルで変換する例

ただし置換の量が増えるほど、数式が読みづらくなり

編集時にエラーを起こすことが多くなるので推奨しません。

どうしても一つにセルにする必要がある場合を除き、

複数の列や行に並べて途中のセルを非表示にすることを推奨します。

関連記事

マクロ・VBAを利用して実現する方法

こちらの方が効率的です。

特定の文字列を置換(SUBSTITUTE関数)