- 公開日:
- 更新日:
ExcelのREPLACE関数の使い方|指定した文字数の文字を置換する
この記事では、ExcelのREPLACE関数の使い方についてご紹介いたします。
REPLACE関数を使うことで、すでに入力してある文字列の一部を別の言葉に置き換えることが出来ます。
多くのデータが入力されたリストを書き換える場合などに使用すると便利な関数ですので、使い方を覚えてぜひ活用してみてください。
REPLACE関数とは?
エクセルのREPLACE(リプレイス)関数とは、対象の文字列の中で指定された文字数を新しい文字に置き換える関数です。
例えば上の画像ではREPLACE関数を使って、B3セルの「埼玉県埼玉市」の中の「埼玉市」を「さいたま市」に置き換えています。
REPLACE関数の用法
REPLACE関数の用法については、以下のような例があります。
- 生徒名簿の「1年1組」を「2年1組」に置き換える
- 住所リストの郵便番号にハイフンを挿入する
- 売り上げ表の金額から末尾の単位を削除する
REPLACE関数の書式
まずは、REPLACE関数の書式を確認していきましょう。
REPLACE関数は、「=REPLACE(文字列,開始位置,文字数,置換文字列)」のように記述します。
引数を1つずつ確認していきましょう。
※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返すための判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。
第1引数(文字列)
1番目の引数は「文字列」です。この引数は必須です。置き換えたい文字列を指定します。
第2引数(開始位置)
2番目の引数は「開始位置」です。この引数は必須です。置き換えたい文字の先頭が、対象の文字列内で何文字目にあるかを指定します。
例えば上の画像では、B3セルの「埼玉市」を「さいたま市」に置き換えています。
「埼玉市」は「埼玉県埼玉市」という文字列の4文字目から始まるので「4」を開始位置の引数として設定します。
第3引数(文字数)
3番目の引数は「文字数」です。この引数は必須です。文字列内で、開始位置から数えて何文字分を置き換えるのかを指定します。
例えば上の画像では「埼玉市」の「埼玉」の部分を「さいたま」に置き換えているので文字数は2文字分になり、「2」を文字数の引数として設定しています。
第4引数(置換文字列)
4番目の引数は「置換文字列」です。この引数は必須です。元々の文字列をどんな文字列に置き換えるのかを指定します。文字列は必ずダブルクォーテーションで囲みます。
例えば、上の画像では「埼玉市」を「さいたま市」に置き換えているので、「"さいたま"」が置換文字列の引数になります。
REPLACE関数の使い方
REPLACE関数の使い方についてご紹介します。
基本操作を行う
REPLACE関数を使って、「埼玉市」という文字列を「さいたま市」に置き換える方法についてご説明します。
まずは、REPLACE関数を入力します。エクセルで上の画像のような表を用意しましょう。【置き換え後の文字列を表示したい任意のセル(例:D3)】を選択し、『=REPLACE(』と入力します。
文字列の引数を設定します。「=REPLACE(」に続き『B3,』と入力します。
開始位置の引数を設定します。対象の「埼玉市」は「埼玉県埼玉市」の4文字目から始まるので「4」が開始位置になります。「B3,」に続いて『4,』と入力します。
文字数の引数を設定します。「埼玉市」の「埼玉」を置き換えるので2文字分になり、文字数の引数は「2」になります。「4,」に続いて『2,』と入力します。
置換文字列の引数を設定します。「埼玉」を「さいたま」に置き換えるので「2,」に続いて『"さいたま")』と入力し、【Enter】キーを押します。
これで、REPLACE関数を使って「埼玉」を「さいたま」に置き換えることが出来ました。
複数の置換を行う
複数の文字列を対象に文字の置換を行いたい場合は、REPLACE関数ではなくSUBSTITUTE関数を使用します。
SUBSTITUTE関数を使うと、例えば上の画像のように一つの関数で複数の文字列を置換することが出来ます。
上の画像ではB列の「中央」「千代田」という文字列をそれぞれ「新宿」「江戸川」に置き換えています。
SUBSTITUTE関数を使って複数の文字列を対象に文字の置換を行う方法については、以下の記事「入れ子(ネスト)で複数の文字列を同時に置換する」セクションをご参照ください。
正規表現で行う
ExcelではREPLACE関数を使った正規表現の検索や置換は出来ません。
VBAやマクロを使う方法もありますが、今回はExcelで正規表現検索を行うためのアドインをご紹介します。
「正規表現検索 Excel用正規表現検索ダイアログアドイン」は、Excelで正規表現検索が可能になるアドインです。
正規表現による検索/置換、VBEでのVBAコードの検索/置換等にも対応しています。
SEのためのExcelツールにアクセスし、DLしてお使いください。
REPLACE関数でワイルドカードは使えるか?
ワイルドカードとは、Excelにおいて検索条件の前や後ろに「*(アスタリスク)」をつけることで「○○を含む」という検索ができる機能を指します。
このワイルドカード機能は、REPLACE関数では使うことが出来ません。
REPLACE関数の代わりにSUBSTITUTE関数を使えば、前後の文字に関わらず検索条件に該当する文字を置換することが出来ます。
SUBSTITUTE関数の詳細については、以下の記事をご参照ください。
ExcelのSUBSTITUTE関数の使い方|文字列を置換する
REPLACE関数とSUBSTITUTE関数の違いとは?
REPLACE関数とSUBSTITUTE関数は、どちらも文字列の指定した文字を別の文字に置換する関数ですが文字の検索方法に違いがあります。
例えば下の画像ではそれぞれREPLACE関数とSUBSTITUTE関数を使って、「埼玉県埼玉市の埼玉市をさいたま市に置換する」という数式を入力しています。
REPLACE関数では「埼玉県埼玉市の4文字目から2文字分をさいたまに置換する」という意味の数式として「=REPLACE(B3,4,2,"さいたま")」とC3セルに入力しています。
SUBSTITUTE関数では「埼玉県埼玉市の埼玉をさいたまに置換する」という意味の式として「=SUBSTITUTE(B3,"埼玉","さいたま")」とD3セルに入力しています。
SUBSTITUTE関数の場合「前から2つめの"埼玉"をさいたまに変換する」といった設定も可能ですので、それぞれ用途に合わせて関数を使い分けましょう。
SUBSTITUTE関数については、上記「複数の置換を行う」セクションや「REPLACE関数でワイルドカードは使えるか?」セクションでも触れておりますので、参考にしてみてください。