SUBSTITUTE関数との違いとは?

おさ氏(以下、おさ):どうもみなさん、こんにちは! 「おさとエクセル」のおさです。今日は、REPLACE関数というものを勉強していきます。こちらの関数は、昨日勉強したSUBSTITUTE関数と対比して、覚えるようにしていきましょう。

少しおさらいすると、SUBSTITUTE関数っていうものは、あるキーワードを別のキーワードに変えてあげる。例えば、「おさとエクセル」という文字列があったならば、「おさ」というキーワードを、「Osanai Kohei」というキーワードに変えてくれるような関数だったんですね。

一方で、今回のREPLACE関数ってものは、あるキーワードを別のキーワードに置き換えるのではなくて、開始位置を指定して、

ある文字数分だけ、そこのキーワードを、別のキーワードに、がっさり変えてくれる関数になります。

ちょっと似てるんですけども、エクセルへの指定の仕方、指令の仕方が異なるような置換機能を持つ関数になります。具体的に見たほうが早いですね。ぜひぜひ、勉強してマスターしていきましょう。よろしくお願いします。

では、こちらのシートをご覧ください。クレジットカード番号の表がございます。

こちらの16桁まるまる見えてるカード番号を、REPLACE関数を用いて、下4桁だけを見えるようなかたちに変えていきたいなと思っています。では、B2のセル少しだけ、数式だけ確認しましょう。今、「=」から始めて、RANDBETWEENという関数が、4つほど繋がれていますね。

これ具体的に、まだ勉強してないんですけども、簡単にいうと、1000円から……、1000円じゃないな。1000から9999。

この範囲にある値をランダムで返すような関数なんですね。ですので、今再計算を実行すると、どんどんどんどん値が変わります。

これを使って、REPLACE関数、適用していきましょう。今、D2のセルに「REPLACE」と打っていきます。出てきましたね。

最初に、指定する引数。文字列と書かれています。

これは、単純に変えたいところの番地を指定してください。

2つ目の引数として、開始位置。3つ目は、文字数ですね。

今、僕たちが変えたいのっていうのは、最初の1文字目から、こちらの「ハイフン」までですね。

具体的には、1で、何文字だろう? 4、3、12(注:4×3=12)のプラス3で、15(注:12+3=15)ですね。

これで、「1」から「ハイフン」までのところを変えるよ、というふうに指定できました。なにに変えるかというと、「XXX」。トトトトトッ。トトトトトッ。こんな感じで、いいですかね。

関数を実行してみると…

これで、Enterを押してあげましょう。そうすると、できました。

こちらのクレジットカード番号「4346」という下4桁なんですが、

こちらも「4346」だけ残って、

他は全部バツ、バツ、バツ、バツに変わってますね。

これ、あとはコピペしてあげてください。こんな感じですかね。

今、RANDBETWEEN関数使ってるので、再計算すると、どんどん変わるんですが、

REPLACE関数も今、参照の値で全部含まれているので、

こちら(注:B2)の値が変わるたびに、

こちら(注:D2)の値も変わります。

意味わかりますかね? 大丈夫ですかね? 「これ、なんで変わんの?」と思う方いらっしゃると思うんですが、これは単純に参照元のセルがRANDBETWEEN関数で、参照値として組みこまれているからなんですね。固定値ではないんです。参照値っていうのは。

てことは、これを固定値に変えてあげると、今右側のREPLACE関数を示したこの列も、数値が固定されるということになります。

具体的にどういうふうにそうするかっていうと、固定値に変えるかっていうと、今ここ(注:B2から下)を選択して、コピーして、形式を選択して、貼り付けの値を選択してあげます。これは以前勉強しましたね。

わからない方、復習してみてください。これで、OK押すと、先ほどこちらのセル(注:B2から下)には、RANDBETWEEN関数の数式が組みこまれていたんですが、今はもう完全に固定値として、このようなものが組みこまれていることになります。

ですので、これ再計算、実行しても一切動かない値になったという感じです。

みなさん、お疲れさまでした。今日は、REPLACE関数を勉強してきました。開始位置を指定して、ある文字数分だけ、別のキーワードに、置き換えてあげる。これが、REPLACE関数の果たす役割です。しっかり、覚えておくようにしましょう。もしなにか質問、あるいはなにか感想など、ありましたら、コメント欄に自由にお書きください。

どうぞ、よろしくお願いします。では、また明日! See you,tomorrow! Bye!