STUDY387

エクセルで仕事をもっと簡単にしよう

【エクセル関数】指定した文字数を別の文字列に置換えるREPLACE

time 2014/07/19

【エクセル関数】指定した文字数を別の文字列に置換えるREPLACE
※ エクセル2013で説明しています。

REPLACE(文字列,開始位置,文字数,置換文字列)

  • 第1引数:文字列(必須)。置き換えられる文字列を指定。
  • 第2引数:開始位置(必須)。文字列の何番目から置換を行うか指定。
  • 第3引数:文字数(必須)。置換える文字数を指定。
  • 第4引数:置換文字列(必須)。置き換え後の文字列を指定。

第1引数で指定した文字列に対し、開始位置で指定した位置から第3引数で指定した文字数分を第4引数で指定した置換文字列に置き換えます。

使い方

文字で説明すると長くなって、
イマイチ理解しづらいRELACE関数ですが、
実際の動きを見るとすぐに理解できます。

たとえば、「小学5年生」を「小学6年生」に書き換える場合、
=REPLACE("小学5年生",3,1,"6")」になります。
「"小学5年生"の文頭から数えて3文字目から1文字分"6"に置き換える」という意味です。
excel-replace01

上記の置換をみて分かるように、
半角文字と全角文字ともに1文字でカウントします。

REPLACE関数と似た関数にSUBSTITUTE関数があります。
SUBSTITUTE関数はAをBに置換えたい場合、Aを文字列で指定しました。
たとえば、「小学5年生」を「小学6年生」に書き換えるなら、
=SUBSTITUTE("小学5年生",5,6)」です。
REPLACE関数はAを開始位置と文字数で指定する点で、使い方が異なります。

補 足

REPLACE関数にはもう一つ似た関数、
REPLACEB関数があります。

両者の違いは文字数の数え方です。

REPLACE関数は半角と全角文字を1文字で数えますが、
REPLACEB関数は全角文字を2文字で数えます。

そのため、「小学5年生」を「小学6年生」に置き換えるには、
=REPLACEB("小学5年生",5,1,"6")」になります。
excel-replace02

sponsored link



sponsored link

sponsored link

何はともあれOFFICEのことならマイクロソフト。意外とキャンペーンやっています。

コピー用紙あったかな?トナーもあったかな?事務用品はアクスルへGO!