OfficeType

Excel~SUBSTITUTE関数で指定した文字列を置換しよう~エクセル

エクセルで文字列から指定した文字列を別の文字列に置換するSUBSTITUTE関数について説明します。

  • SUBSTITUTE関数の書式はSUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])になります。
  • 文字列は置換したい文字列を指定します。
  • 検索文字列は文字列の中の置換したい文字列を指定します。
  • 置換文字列は検索文字列から置き換える文字列を指定します。
  • [置換対象]は検索文字列が複数箇所ある場合にn番目だけを置換したい時に番号を指定します。指定しなければ全て置換されます。

下の画像の例でセルA2の文字列xy-0232の"xy"を"xyz"に置換してセルB2に表示したい場合はセルB2に=SUBSTITUTE(A2,"xy","xyz")と入力しEnterを押します。

文字列はセルA2の文字列xy-0232を置換したいのでA2になります。

検索文字列は文字列xy-0232の"xy"部分を置換したいので"xy"になります。

置換文字列は"xy"を"xyz"に置換したいので"xyz"になります。

[置換対象]は"xy"が1箇所しかないので省略しています。

つまりセルB2に=SUBSTITUTE(A2,"xy","xyz")と入力しEnterを押すとセルB2にxyz-0232と表示されます。

セルB2からセルB6までオートフィルすればA列の文字列の"xy"部分が"xyz"に置換されてB列に表示されます。

ハイフンを消す

下の画像の例でセルB2にセルA2の文字列xy-0232の-(ハイフン)を消して表示したい場合はセルB2に=SUBSTITUTE(A2,"-","")と入力しEnterを押します。

文字列はセルA2の文字列xy-0232を置換したいのでA2になります。

検索文字列は文字列xy-0232の-(ハイフン)部分を置換したいので"-"になります。

置換文字列は-(ハイフン)を空白に置換したいので""になります。

[置換対象]は"-"が1箇所しかないので省略しています。

つまりセルB2に=SUBSTITUTE(A2,"-","")と入力しEnterを押すとセルB2にxy0232と表示されます。

二重SUBSTITUTE

置換したい検索文字列が複数ある場合SUBSTITUTE関数の中でSUBSTITUTE関数を使うことで対応できます。

下の画像の例でセルB2にセルA2の文字列xy-0232-abcの""xy"部分を"xyz"に置換し、"abc"部分を"abcd"に置換して表示したい場合はセルB2に=SUBSTITUTE(SUBSTITUTE(A2,"xy","xyz"),"abc","abcd")と入力しEnterを押します。

文字列はSUBSTITUTE(A2,"xy","xyz")が入っているので"xy-0232-abc"の"xy"を"xyz"に置換した文字列"xyz-0232-abc"を表します。

検索文字列は文字列"xyz-0232-abc"の"abc"部分を置換したいので"abc"になります。

置換文字列は"abc"部分を"abcd"に置換したいので"abcd"になります。

[置換対象]は省略しています。

つまりセルB2に=SUBSTITUTE(SUBSTITUTE(A2,"xy","xyz"),"abc","abcd")と入力しEnterを押すとセルB2にxyz-0232-abcdと表示されます。

n番目の検索対象だけ置換

下の画像の例でセルB2にセルA2の文字列xy-0232-xyの2番目の"xy"だけを"xyz"に置換したい場合はセルB2に=SUBSTITUTE(A2,"xy","xyz",2)と入力しEnterを押します。

文字列はセルA2の文字列xy-0232-xyを置換したいのでA2になります。

検索文字列は文字列xy-0232-xyの"xy"部分を置換したいので"xy"になります。

置換文字列は"xy"を"xyz"に置換したいので"xyz"になります。

[置換対象]は2番目の"xy"だけを置換したいので2になります。

つまりセルB2に=SUBSTITUTE(A2,"xy","xyz",2)と入力しEnterを押すとセルB2にxy-0232-xyzと表示されます。

REPLACE関数との違い

REPLACE関数は文字列の中の指定した位置を置換します。

SUBSTITUTE関数は文字列の中の指定した文字列を置換します。