今回はSUBSTITUTEを使って文字列を置換する方法を紹介します。
Excelの関数について不定期で投稿していますので、こちらも併せてご覧ください!
SUBSTITUTEとは
SUBSTITUTE関数をざっくり説明すると、指定した文字列を別の文字列で置換することができる関数になります。Excelの機能でCtrlキーとFキーを同時に押すと「検索と置換」が出てくると思うんですが、あれの置換機能が数式で使えるような感じです。

以下の例では「私の飼っている犬は9歳です。」の「犬」の部分を「猫」に置換しています。

このようにSUBSTITUTE関数を使えば任意の文字列を置換することができるわけです。
SUBSTITUTEの書き方
SUBSTITUTEは以下のように書きます。
=SUBSTITUTE(【1.検索元文字列】,【2.検索文字列】,【3.置換文字列】)
それぞれ各引数について、先程の例を用いながら説明していきます。
検索元文字列
ここに検索元の文字列を指定します。
先程の例ではA列に元になる文字列「私の飼っている犬は9歳です。」が入っているのでここにA1セルを指定する感じです。

検索文字列
ここに検索したい文字列を指定します。
先程の例ではA1セル内の「犬」を別の文字に置換したいので「犬」を指定します。

置換文字列
ここに置換する文字列を指定します。
先程の例で言うと「犬」を「猫」で置換するので「猫」を指定すればOKです。

SUBSTITUTEの使用例
SUBSTITUTEの使用例について紹介します。ほぼ備忘録のようなものですが、もし参考になれば幸いです。(役立ちそうなものあれば追記します)
1つのセル内で複数個所置換する
先程の例では「犬」の部分を「猫」に置換しただけでしたが、追加で「9歳」を「10歳」に置換&同一セル内で行う方法です。
1つのセル内で複数個所を置換するには、SUBSTITUTE関数をネストすればできます。
=SUBSTITUTE(SUBSTITUTE(A1,"犬","猫"),9,10)
動作イメージは以下の通りです。
- 内側のSUBSTITUTEを処理(「犬」→「猫」に置換)
- 外側のSUBSTITUTEを処理(「9」→「10」に置換)
注意点として、これはSUBSTITUTEに限った話ではないのですが、関数をネストしすぎると可読性が悪くなる為、なるべく複数セルに処理を分散させるようにするのがお勧めです。
どうしても「単一セルで置換させたい」場合に、上記の方法を使用するようにしましょう。
まとめ
今回はSUBSTITUTEを使って文字列を置換する方法を紹介しました。
SUBSTITUTEを使う場合は、以下構文を覚えておきましょう。
=SUBSTITUTE(【1.検索元文字列】,【2.検索文字列】,【3.置換文字列】)
コメント