OfficeType

Excel~REPLACEB関数で指定したバイト数の位置の文字列を置換しよう~エクセル

エクセルで文字列の指定した開始位置から指定したバイト数を別の文字列に置換するREPLACEB関数について説明します。

  • REPLACEB関数の書式はREPLACEB(文字列, 開始位置, バイト数, 置換文字列)になります。
  • 文字列は置換したい文字列を指定します。
  • 開始位置は文字列の中の置換したい箇所が左から数えて何バイト目かを指定します。
  • バイト数は開始位置を1バイト目とした時に、そこから何バイト目まで置換するかを指定します。
  • 置換文字列は文字列と置き換えたい文字列を指定します。
  • 半角は1文字1バイト、全角は1文字2バイトになります。

下の画像の例でセルB2にセルA2の文字列XY-0232の"XY"を"XYZ"に置換したい場合はセルB2に=REPLACEB(A2,1,4,"XYZ")と入力しEnterを押します。

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

開始位置は文字列XY-0232の"XY"部分を置換したいので"XY"は文字列の左から1バイト目から始まるので1になります。

バイト数は"XY"は4バイトなので4になります。

置換文字列は"XY"を"XYZ"に置き換えたいので"XYZ"になります。

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

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

-(全角マイナス)を消す

下の画像の例でセルB2にセルA2の文字列XY-0232の-(全角マイナス)を消して表示したい場合はセルB2に=REPLACEB(A2,5,2,"")と入力しEnterを押します。

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

開始位置は文字列XY-0232の"-"部分を置換したいので"-"は文字列の左から5バイト目から始まるので3になります。

バイト数は-(全角マイナス)は2バイトなので2になります。

置換文字列は"-"を消したいので空白の""になります。

つまりセルB2に=REPLACEB(A2,5,2,"")と入力しEnterを押すとセルB2にXY0232と表示されます。

二重REPLACEB

置換したい箇所が複数ある場合REPLACEB関数の中でREPLACEB関数を使うことで対応できます。

下の画像の例でセルB2にセルA2の文字列XY-0232-ABCの-(全角マイナス)を消して表示したい場合はセルB2に=REPLACEB(REPLACEB(A2,5,2,""),13,2,"")と入力しEnterを押します。

文字列は一つ目の"-"を消した文字列を指定するためにREPLACEB(A2,5,2,"")を指定します。これはセルA2の文字列XY-0232-ABCの5バイト目の"-"を空白""で置換しているのでXY0232-ABCを表します。

開始位置は文字列内のREPLACEB関数で置換された文字列XY0232-ABCの"-"部分を置換したいので"-"は文字列の左から13バイト目から始まるので13になります。

バイト数は-(全角マイナス)は2バイトなので2になります。

置換文字列は-(全角マイナス)を消したいので空白の""になります。

つまりセルB2に=REPLACEB(REPLACEB(A2,5,2,""),13,2,"")と入力しEnterを押すとセルB2にXY0232ABCと表示されます。