Excelで一括文字修正

Excelで大量の文字修正を実行する場合、多くの方は「検索と置換」機能を活用することと思われます。

しかし何度も繰り返すと手間です。そこで「SUBSTITUTE」関数を使うことで場合によっては手間を減らすことが出来るかもしれません。

 

まず「SUBSTITUTE」関数は、

 

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

 

の4つの引数で構成されます。

 

1つ目で対象のセルを指定し、2つ目で置換したい対象の文字列(検索文字列)、3つ目で置換後の文字列(置換文字列)を指定します。4つ目はどの検索文字列を置換文字列にするかの指定に使います。省略すると全ての検索文字列が対象になります。

 

 

下の画像のように、B列の「コード」に入力されている文字列「S」を「-A4S」に置換したいときは

 

=SUBSTITUTE(B2,”S”,”-A4S”)

 

と関数を設定します。

 

結果は下の画像のようになります。

 

これだけでは「置換」の機能とそれほど変わりませんが、SUBSTITUTE関数を「ネスト」(入れ子)して2つ3つと複数同時に設定することが出来るのです。

 

今度は先ほどの「S」を「-A4S」の置換に加え「M」を「-A4E」に同時に置換する設定をしてみます。

 

=SUBSTITUTE(SUBSTITUTE(B3,”S”,”-A4S”),”M”,”-A4E”)

 

と打ち換えてみましょう。

 

確定後に7行目までオートフィルをしてみると無事2種類の文字列が置換されました。

 

さらに「L-001L」のように後ろの「L」だけ置換したい場合は4つ目の引数である「置換対象」を設定すれば可能です。「2個目のL」を置換対象にしたいので「2」と指定します。

 

=SUBSTITUTE(B9,”L”,”-A3S”,2)

 

と関数を入力します。

 

すると結果は2つ目の「L」だけが置換されることになり、無事に思惑通りの置換ができました。

 

ちなみに今回の3つの置換を一気に行う場合は以下のようにSUBSTITUTE関数を設定しましょう。

 

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2,”L”,”-A3S”,2),”M”,”-A4E”),”S”,”-A4S”)

 

ただし、1つ目や2つ目の置換後の文字列にその後の検索文字列と同じものが含まれる場合、それも含んで置換してしまうため、そのときは置換の順番を入れ替えるなどして調節しましょう。