REPLACE関数 指定した位置の文字を置き換えます

 REPLACE関数 はこばとの好きな関数ねー!
 色々なことができて面白いのねー!
 え? 関数に好き嫌いとかあるのかって?
 そりゃありますよ。「 FIND さんは気が利いててなじみやすいなー」とか、「 VLOOKUP さんはちょっと気難しくて付き合いにくいなー」とかね。関数の好き嫌いに無頓着な人はまだまだエクセルに対する愛が足りないのです。ええと、前置きが長くなったけど、そろそろ本題に入りましょー。
 

REPLACE関数

 REPLACE関数

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

のように記述して、対象となる [文字列] の [開始位置] に指定した位置から [文字数] ぶんだけの文字を、[置換文字列] に置き換えます。こんなふうに一般的に説明すると「???」となっちゃいますけど、具体例を見るとそれほど難しくありません。たとえば

=REPLACE("こばとちゃん",1,3,"マリ")

と入力すると「こばとちゃん」の「 1 」文字目から、「 3 」文字(つまり「こばと」の部分)を「マリ」に置き変えて、「マリちゃん」と返してくるのです。面白いですねー。ところでこの REPLACE関数は [文字数] を「 0 」と指定することもできます。その場合は [開始位置] の手前に [置換文字列] を入れることができるのです。たとえば

=REPLACE("刑部さん",3,0,"真理子")

と入力すると「刑部さん」の「さ」の手前に「真理子」が挿入されて「刑部真理子さん」と返ってきます。
 

携帯電話番号にハイフンを2つ入れます

 セル A1に次のようなハイフン (-) なしの携帯電話番号が入力されているとします。

080183622xx

 知らない人に迷惑がかかるといけないので末尾は xx としてありますよ。この番号をハイフン付き番号に変えてみましょう。そのためには REPLACE関数 を入れ子にするという、ちょっとだけ複雑なことをします。「 080 」のあとにハイフンを入れるには

=REPLACE(A1,4,0,"-")

とします。「 080183622xx 」の 4 番目の文字の1つ手前に「 - 」が挿入されて、

080-183622xx

と返ってきます。この文字列にさらに REPLACE関数を適用して

=REPLACE("080-183622xx",9,0,"-")

とすれば

080-1836-22xx

と返るはずですね。最初の REPLACE で「 - 」が入っているので、開始位置は「 9 」としています。つまりセル A1 の番号に2つのハイフンを入れるには、REPLACE関数を入れ子にして

=REPLACE(REPLACE(A1,4,0,"-"),9,0,"-")

と入力すればいいのです。こんなふうに「同じ関数をネストする」という手法をマスターすると応用範囲がどんどん広がります。

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください