【Excel・エクセル】SUBSTITUTE関数の使い方|複数の置換を一括で

置換って複数を一気にできないのかな?

SUBSTITUTE関数を使うといいんよ。
- 置換する関数は「SUBSTITUTE関数」
- =SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)
- 置換機能と違い、セル参照や複数の置換を一度にできる
- 複数の置換は、SUBSTITUTEをネスト化する
【Excel・エクセル】置換できるSUBSTITUTE関数
SUBSTITUTE関数は置換機能と近く、セルの中から指定した文字を探して、それを別の文字に置き換える関数です。
ちなみに読み方は「サブスティチュート」。
=SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)
SUBSTITUTE | 次の文字を置き換えてください |
文字列 | この文字(セル)の中の |
検索文字列 | この文字を |
置換文字列 | この文字に |
置換文字 | 何個目の検索文字列を(省略可能) |
置換機能や、もう一つの置換する関数、REPLACE関数は、以下のページで詳しくご紹介しています。
動画でもSUBSTITUTE関数の使い方をご紹介しています!
SUBSTITUTE関数の使い方
以下のシートのセルA8の文章の<旧商品>と<新商品>を、SUBSTITUTE関数を使って実際の商品名に置換してみましょう。
※実際に操作できます。
いちいちスクロールするのは面倒なので、別タブか別ウィンドウで開くの推奨です!

=SUBSTITUTE(SUBSTITUTE(A8,"<旧商品>",A2),"<新商品>",B2)で、求められるよ。説明するね。

あれ、SUBSTITUTEが2つあるよ?

大丈夫、怖くないよ。まずは旧商品を置換していくね。
ステップ1
セルA7に「=SUBSTITUTE(」と入力してください。
それか、長いので「=SU」まで入力してTabでもOKです。

ステップ2
次に、どのセルの文字列を置換するか決めます。
今回はセルA4を置換するので、セルA4をクリックして「,」です。

ステップ3
次にどの文字をどの文字に置換するか。

つまり、置換機能の「検索する文字列」「置換後の文字列」ってことだね!
まず検索する文字列、置換したい文字のことですね。
「"<旧商品>"」と入力します。
文字列なので「"」で囲むのを忘れずに。
そして「,」。

ステップ4
次に置換後の文字列、なんて文字に置き換えたいかです。
ここも直接入力してもいいですが、セルA2に置換後の文字があるので、これを使いましょう。
セルA2をクリックしてください。


最後の置換対象は、今回使わんから省略するよ。
ひとまず完成!
Enterを押せば、無事<旧商品>をパクパクグミDXに置き換えられました!


置換機能と同じように使えるんだね。

ところが、決定的に違うところがあるんよ。
SUBSTITUTE関数で、複数の文字列を置換する
置換機能は検索する文字列、置換後の文字列を1つずつ入力する必要があります。
しかし今回は<旧商品>と<新商品>、2つの文字列を置換したいんです……。

置換機能で2回置換したらいいやん。

そんなこと言わずに。
そこでSUBSTITUTE関数を使えば、複数の文字列を一度に置換できちゃいます。
やり方はSUBSTITUTE関数の中にSUBSTITUTE関数を入れる、いわゆるネスト化(入れ子)するのです!


よくわかんないけど、すごそう!
先ほど書いた数式に、<新商品>もセルB2に置換できる式を追加していきますよ。
書き方はズバリこんな感じ。
=SUBSTITUTE(SUBSTITUTE(置換する文字列,1つ目の検索文字,1つ目の置換文字)2つ目の検索文字,2つ目の置換文字)
ステップ1
まずさっきの式に「SUBSTITUTE(」を加えます。

ステップ2
末尾にカーソルを移動させます。
こっから2つ目の置換を書いていきますよ。

ステップ3
まずは文字列~とセルA4をクリックしたくなりますが、ここはグッとこらえていただいて。
「,」からの、2つ目の検索する文字列を入力します。
「"<新商品>"」ですね、そして「,」。

ステップ4
あとは置換後の文字列。
ここも直接入力でも、セル参照でもOKです。
セルB2をクリックしましょう。

完成!
これで式は完成なので、カッコを閉じて、Enterを押せば……
無事、複数の置換を一度にできました!

SUBSTITUTE関数は置換機能と比べてちょっと難しいかもしれませんが、複数の置換を一度にできたり、セル参照できたり、あとはオートフィルできたりと利点も多いです。
SUBSTITUTE関数の置換対象とは

結局使わなかった「置換対象」ってなんだったんだ?
置換対象は、何番目の対象文字を置換するかです。
例えば「モグモググミ」を「モググミグミ」に置換したい場合。
そのまま置換すると「グミグミグミ」になってしまいます。


そこで、置換対象を使うってわけ。
置換対象を2にすると、2つ目のモグが対象になるので「モググミグミ」にできるのです。

置換機能と使い分けて、思い通り文字を置き換えてくださいね。
それでは、お疲れさまでした!
- 置換する関数は「SUBSTITUTE関数」
- =SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)
- 置換機能と違い、セル参照や複数の置換を一度にできる
- 複数の置換は、SUBSTITUTEをネスト化する
ディスカッション
コメント一覧
まだ、コメントがありません