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関数は文字列の中の指定した文字列を置換します。