Excel。文字を伏字にしたいのですが、いい方法はありませんか?
<LEFT関数+REPT関数+LEN関数>
ちょっとしたご質問だったのですが、あまり使わない関数の組み合わせだったので、
それを今回はご紹介していきます。
ただ、タイトルだけでは、なんだかわかりにくいので、次の表をご覧ください。
A列に氏名が入力されていて、そのままではオープンな資料として使えないので、
氏名の一文字目はそのままで、
それ以降は、残りの文字数分を【伏字】にしたいということをやりたいわけなんですね。
今回は伏字で全角の”*”を使っておりますが、
この伏字の数が決まっているならば、LEFT関数との文字結合で、完成しますが、
今回厄介なのは、文字数が違うということ。
ということは、
その最初の一文字目を除いて数えてあげる必要があります。
そして、その文字数分を伏字にしないといけないということ。
なので、REPLACE関数も使いにくいのです。
このような場合、Excelのベテランさんならともかく、Excelがもう少しと思っている方などは、
一つずつ区切って数式を作成していき、
最終的に合体させるほうがわかりやすいと思いますので、
E列以降を使って確認していきましょう。
E列には、最初の一文字目を抽出していきましょう。
左側から一文字ですから、LEFT関数を使います。
E3をクリックして、LEFT関数ダイアログボックスを表示しましょう。
文字列は、A3
文字数は、1
としてOKボタンをクリックしましょう。オートフィルで数式をコピーしましょう。
E3の数式は、
=LEFT(A3,1)
最初の一文字目を抽出できましたね。
続いて、F列。
ここは、先に文字数を数える関数を設定していきます。
文字数を数える関数は、LEN関数ですね。
F3をクリックしてLEN関数ダイアログボックスを表示しましょう。
文字列には、A3
と入力して、OKボタンをクリックしましょう。
今、F3の数式は、
=LEN(A3)となっていますね。
今回は、この文字数から-1(マイナス1)した数をふせじにするので、
数式を=LEN(A3)-1と修正します。
それでは、オートフィルで数式をコピーします。
このF列で算出した数値の回数を繰り返して伏字である、”*”を作りますので、
ここは、REPT関数が登場します。
G3をクリックしてREPT関数ダイアログボックスを表示しましょう。
文字列には、”*”
繰り返し回数には、F3
として、OKボタンをクリックしましょう。オートフィルで数式をコピーします。
G3の数式は、
=REPT("*",F3)
あとは、E3とG3を結合させてあげればいいので、C3には、=E3&G3
とすれば、完成ですね。なお、E列~G列までの作業列を使わないで、一発で数式を作るのでしたら、
C3に、