Excel~REPLACE関数で指定した位置の文字列を置換しよう~エクセル
エクセルで文字列の指定した開始位置から指定した文字数を別の文字列に置換するREPLACE関数について説明します。
- REPLACE関数の書式はREPLACE(文字列, 開始位置, 文字数, 置換文字列)になります。
- 文字列は置換したい文字列を指定します。
- 開始位置は文字列の中の置換したい箇所が左から数えて何文字目かを指定します。
- 文字数は開始位置を1文字目とした時に、そこから何文字目まで置換するかを指定します。
- 置換文字列は文字列と置き換えたい文字列を指定します。
下の画像の例でセルB2にセルA2の文字列xy-0232の"xy"を"xyz"に置換したい場合はセルB2に=REPLACE(A2,1,2,"xyz")と入力しEnterを押します。
文字列はセルA2の文字列xy-0232を置換したいのでA2になります。
開始位置は文字列xy-0232の"xy"部分を置換したいので"xy"は文字列の左から1文字目から始まるので1になります。
文字数は"xy"は2文字なので2になります。
置換文字列は"xy"を"xyz"に置き換えたいので"xyz"になります。
つまりセルB2に=REPLACE(A2,1,2,"xyz")と入力しEnterを押すとセルB2にxyz-0232と表示されます。
セルB2からセルB6までオートフィルすればA列の文字列の"xy"部分が"xyz"に置換されてB列に表示されます。
ハイフンを消す
下の画像の例でセルB2にセルA2の文字列xy-0232の-(ハイフン)を消して表示したい場合はセルB2に=REPLACE(A2,3,1,"")と入力しEnterを押します。
文字列はセルA2の文字列xy-0232を置換したいのでA2になります。
開始位置は文字列xy-0232の"-"部分を置換したいので"-"は文字列の左から3文字目から始まるので3になります。
文字数は"-"は1文字なので1になります。
置換文字列は"-"を消したいので空白の""になります。
つまりセルB2に=REPLACE(A2,3,1,"")と入力しEnterを押すとセルB2にxy0232と表示されます。
二重REPLACE
置換したい箇所が複数ある場合REPLACE関数の中でREPLACE関数を使うことで対応できます。
下の画像の例でセルB2にセルA2の文字列xy-0232-abcの-(ハイフン)を消して表示したい場合はセルB2に=REPLACE(REPLACE(A2,3,1,""),7,1,"")と入力しEnterを押します。
文字列は一つ目の"-"を消した文字列を指定するためにREPLACE(A2,3,1,"")を指定します。これはセルA2の文字列xy-0232-abcの3文字目の"-"を空白""で置換しているのでxy0232-abcを表します。
開始位置は文字列内のREPLACE関数で置換された文字列xy0232-abcの"-"部分を置換したいので"-"は文字列の左から7文字目から始まるので7になります。
文字数は"-"は1文字なので1になります。
置換文字列は"-"を消したいので空白の""になります。
つまりセルB2に=REPLACE(REPLACE(A2,3,1,""),7,1,"")と入力しEnterを押すとセルB2にxy0232abcと表示されます。
SUBSTITUTE関数との違い
SUBSTITUTE関数は文字列の中の指定した文字列を置換します。
REPLACE関数は文字列の中の指定した位置を置換します。