(Excel)REPLACE関数を使って文字列中に文字を挿入する

 ExcelのREPLACE関数についてです。この関数は文字列中の文字を別の文字に置き換えるための関数ですが、引数の指定により文字(文字列)を挿むこともできます。

  • REPLACE関数の第3引数(置き換える文字数)を「0」と指定する(または何も指定しない)ことで、文字列中に文字(文字列)を挿入することができます。
  • 挿入される位置は第2引数(開始位置)で指定した文字の前になります。

手順

f:id:accs2014:20200606100029p:plain:right:w450

 B3セルに7文字の文字列が入力されています。
 関数を使って、この文字列の2文字目と3文字目の間に「☆」という文字を挿入した結果を取得するものとします。
 一見LEFT関数やRIGHT関数などを組み合わせる必要がありそうですが……

 REPLACE関数を使った次のような式をD3セルに記します。

=REPLACE(B3,3,0,"☆")

 一見REPLACE関数により3文字目を「☆」に置き換えるという式ですが、第3引数(置き換える文字数)が「0」となっています。
 この式を確定すると……
 

f:id:accs2014:20200606100033p:plain:right:w450

 こうなります。文字列中の文字が置き換えられることはなく、単に2文字目と3文字目の間に「☆」が加わっています。
 このように、第3引数を「0」とする(あるいは何も指定せずカンマを連ねる)ことで文字を挿入することができます。文字が挿入される位置は第2引数で指定した文字位置の前となります。
 もちろん、2文字以上の文字列を挿入することもできます。

 LEFT,RIGHT関数や&などを組み合わせるよりも式がだいぶ簡単になるのがポイントです。

f:id:accs2014:20200606100037p:plain:right:w450

 なお、第3引数の値が全体の文字数より大きい場合は、文字列の最後に文字が追加されます。
 画像は第3引数を「99」とした結果です。