エクセル関数で一度に複数置換を行うには?SUBSTITUTEを使ってみよう

substitute複数置換できる?

さて、今回行うのはエクセルで一度に複数置換を行う方法です。
たまーに置換を行う作業があるだけならよいのですが、毎日のように同じ置換作業を、しかも複数置換を行うことがある。

なーんてときには今回お伝えする関数による置換方法が便利かもしれません。

エクセルで置換と言えばSUBSITUTE関数ですが、この関数で複数置換に挑戦してみましょう。

まずはSUBSTITUTE関数で一つ置換する方法

SUBSTITUTE関数の使い方を見ていきましょう。

=SUBSTITUTE ( 文字列 , 置換したい文字列 , 置換後の文字列 )

一つ置換するのはそこまで難しくないでしょうか。

上の図ではA2セルの文字をB2セルの文字に置換していますが、”A”を”D”に置換することが決まっているならば、下記のように指定してもよいです。

=SUBSTITUTE(A7,“A”,“D”)

では続いて二つ置換する方法を見てみましょう。

=SUSTITUTE(SUBSTITUTE(文字列,1個目置換したい文字列,1個目置換後の文字列),2個目置換したい文字列,2個目置換後文字列)

SUBSTITEで1個目を置換した後に、2個目を続けて置換してるんですね。

SUBSTITUTE(文字列,1個目置換したい文字列,1個目置換後の文字列)
この部分で1個目の置換が終わった文字列になってますので、下記のようにするとわかりやすいでしょうか。

=SUSTITUTE(1個目置換が終わった文字列,2個目置換したい文字列,2個目置換後文字列)

ここまでくれば一度に3個置換する方法もわかりますよね。

なっがくなりますが、SUBSTITUTE×3ですね!

ではSUBSTITUTE関数はいくつまで繋げられるのか!はい、それもやってみました。
SUBSTITUTE関数を数十繋げるのはかなりしんどいので、まずは関数のテキストを関数で作成しました!

ちょっと複雑なのですが…
初めの置換は SUBSTITUTE(A2,A5,B5)
その前に SUBSTITUTE(
後ろには ,A6,B6)
を繋げると
SUBSTITUTE(SUBSTITUTE(A2,A5,B5),A6,B6)
が完成。

この2個置換をした関数の
前に SUBSTITUTE(
後ろに ,A7,B7)
繋げると
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,A5,B5),A6,B6),A7,B7)

と繰り返してます…
あとはたくさんくっついたSUBSTITUTEがくっついたものを値貼りにし、先頭に=をつければ完成ですね。

これも手間じゃんって思うかもしれませんが、手作業で関数組むより楽かも…

さて、本題のいくつまでまとめて置換できるの?ですが、SUBSUTITEを繋げすぎると下記エラーが出ます。

SUBSUTITUTE関数の中に、65個以上のSUBSTITUTE関数を入れないでねってことですね。
ということですので、最大で65回置換できることがわかりました!

これ使いたい!って人がいるかもしれませんので、ちょっと長いですけど下記に載せておきます。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,A5,B5),A6,B6),A7,B7),A8,B8),A9,B9),A10,B10),A11,B11),A12,B12),A13,B13),A14,B14),A15,B15),A16,B16),A17,B17),A18,B18),A19,B19),A20,B20),A21,B21),A22,B22),A23,B23),A24,B24),A25,B25),A26,B26),A27,B27),A28,B28),A29,B29),A30,B30),A31,B31),A32,B32),A33,B33),A34,B34),A35,B35),A36,B36),A37,B37),A38,B38),A39,B39),A40,B40),A41,B41),A42,B42),A43,B43),A44,B44),A45,B45),A46,B46),A47,B47),A48,B48),A49,B49),A50,B50),A51,B51),A52,B52),A53,B53),A54,B54),A55,B55),A56,B56),A57,B57),A58,B58),A59,B59),A60,B60),A61,B61),A62,B62),A63,B63),A64,B64),A65,B65),A66,B66),A67,B67),A68,B68),A69,B69)

以上、エクセル関数で一度に複数置換を行うには?のご紹介でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA