REPLACEB関数:文字列の中の指定位置から指定したバイト数分を置き換える
REPLACEB 関数は Excel で用意されている関数の一つで、対象の文字列の中で指定した開始位置から指定したバイト数分の文字列を別の文字列に置き換えます。 REPLACEB 関数では半角文字は 1 文字につき 1 バイト、全角文字は 1 文字につき 2 バイトとしてカウントします。ここでは Excel における REPLACEB 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010 2007
(Last modified: )
REPLACEB関数の使い方
REPLACEB
関数は引数に対象の文字列の中の開始位置(バイト単位)からバイト数分だけの文字列を別の文字列に置換します。
REPLACEB(文字列,開始位置,バイト数,置換文字列)
1 番目の引数に対象の文字列を指定します。対象の文字列の中で 2 番目の引数に指定した開始位置から、 3 番目の引数に指定したバイト数分だけの文字列を、 4 番目の引数で指定した新しい文字列で置き換えます。開始位置を指定する場合は、先頭のバイトが 1 、次のバイトが 2 、というように指定します。
対象の文字列が半角文字だけの場合は 1 文字が 1 バイトですので REPLACE
関数と REPLACEB
関数は同じように扱うことができます。
それに対して REPLACEB
関数では全角文字は 1 文字につき 2 バイトとカウントします。対象の文字列に全角文字が含まれる場合は、 1 文字につき 2 バイトになりますので開始位置やバイト数を指定するときに注意してください。
例えば 1 番目の引数に "東京都港区" 、 2 番目の引数に 7 、 3 番目の引数に 2 、 4 番目の文字に "中央" を指定した場合、結果として "東京都中央区" が返されます。
=REPLACEB("東京都港区",7,2,"中央") --> 東京都中央区
1 番目の引数に "Hello Tarou" 、 2 番目の引数に 1 、 3 番目の引数に 5 、 4 番目の引数に "Bye" を指定した場合、結果として "Bye Tarou" が返されます。
=REPLACEB("Hello Tarou",1,5,"Bye") --> Bye Tarou
バイト数に0を指定すると挿入になる
REPLACEB
関数の 3 番目の引数であるバイト数に 0 を指定すると、置き換える文字列がなくなるため指定した位置に置換文字列が挿入されることになります。
1 番目の引数に "東京名古屋" 、 2 番目の引数に 5 、 3 番目の引数であるバイト数に 0 、 4 番目の引数に "大阪" を指定した場合、結果として "東京大阪名古屋" が返されます。
=REPLACEB("東京名古屋",5,0,"大阪") --> 東京大阪名古屋
挿入される位置は、 2 番目の引数で指定した開始位置が示すバイトの直前になります。
REPLACEB関数のサンプル
それでは実際に REPLACEB
関数を使ってみます。 Excel のシートに対象となる数値を次のように入力しました。
置換後の新しい文字列を表示する D3 セルを選択し、次のように入力しました。 1 番目の引数として対象の文字列が入力されている C3 セル、 2 番目の引数に開始位置として 6 、 3 番目の引数にバイト数として 2 、 4 番目の引数に置換文字列として "xx" を指定しました。
=REPLACEB(C3,6,2,"xx")
Enter
キーを押すと、 D3 セルには次のように表示されます。
同じように D4 セルから D7 セルに対しても同じように REPLACEB
関数を入力すると次のように表示されました。
-- --
Excel における REPLACEB 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。