Excel(エクセル)で英数字混合のランダムなパスワードを作成する方法を紹介します。
使用する関数は、ランダムな整数を作成する『RANDBETWEEN関数』と、文字の指定した位置から文字数を切り出して表示できる『MID関数』、文字数を数える『LEN関数』の3つを利用します。
まず関数の使い方を簡単に紹介してから、以下の2種類のパスワードの作成方法を紹介します。
- 英数字混合のランダムなパスワード
- 少なくとも1文字のアルファベットと数値を混合するランダムなパスワード
ランダムなパスワードを作るために使用する関数
ランダムなパスワードを作成するためには、以下の3つの関数を使います。
『RANDBETWEEN関数』:ランダムな整数を作成する
『MID関数』:文字の指定した位置から文字数を切り出して表示できる
『LEN関数』:文字数を数える
下の見出しで、構文や引数を紹介します。すでに熟知している方やパスワードを作成方法だけを知りたいという方は、読み飛ばしてもらって大丈夫です。
RANDBETWEEN関数(ランドビットウィーン)の使い方
RANDBETWEEN関数(ランドビットウィーン)は、好きな数値の範囲を指定してランダムな整数を作成することが出来ます。
RANDBETWEEN関数の構文は以下のとおりです。『最小値』と『最大値』の2つの引数で、作り出す整数の範囲を指定します。
=RANDBETWEEN(最小値,最大値)
下の図のように、C3セルに『=RANDBETWEEN(1,99)』を挿入すると、最小値1、最大値99の範囲内でランダムな整数が自動で発生します。
関数を挿入した後に「F9」キーを押すなどの操作で、再計算する度に新しい整数に変化します。
MID関数(ミッド)の使い方
MID関数(ミッド)は、文字や数値の指定した位置から文字数を抽出して表示する関数です。
MID関数の構文は以下のとおりで、引数は3つを設定する必要があります。
=MID(文字列,開始位置,文字数)
1つ目の引数「文字列」:対象の文字列のセルを指定する、もしくは直接文字を入力します。
2つ目の引数「開始位置」:取り出しを開始する位置を指定します。先頭を1として数えます。
3つ目の引数「文字数」:取り出す文字数を指定します。省略した場合は、開始位置以降のすべての文字が抽出されます。
下の図のように、C3セルに『=MID(B3,2,3)』を挿入すると、『エクセルの森』の2文字目の”ク”から、3文字目の”ル”までの文字を抽出することが出来ます。
LEN関数(レン)の使い方
文字数をカウントすることが出来るLEN関数(レン)を紹介します。
LEN関数は、句読点やスペースや半角文字や全角文字を1文字としてカウントする関数です。
=LEN(文字列)
引数の”文字列”には、直接文字列を入力するか、セル番号(A2等)を指定します。
下の図のように、”4月は春だ。”という文字列をLEN関数で文字数をカウントすると、6文字となります。
パスワードに使う英数字を作成
まず、パスワードに使用する英数字を決めましょう。
今回の説明では、数値は『1234567890』、アルファベットは大文字の『ABCDEFGHIJKLMNOPQRSTUVWXYZ』のと小文字の『abcdefghijklmnopqrstuvwxyz』を混在したパスワードを作成します。
記号に「/・?@」などの文字をパスワードの作成に利用することも出来ますので、自由に利用する英数字や記号を決めて下さい。
英数字混合のランダムなパスワードを作成する方法
英数字混合のランダムなパスワードを作成する方法を手順にそって紹介します。
今回はランダムな5桁のパスワードを作成します。
手順1.パスワードに使う文字列を入力
パスワードに使う文字列をセルB2に入力します。
英数字だけでなく記号を入れても、大文字・小文字が混ざっても構いません。並び順も順不同です。
手順2.1桁目のパスワードを完成
先頭から1桁目のパスワードを自動でランダムに生成するため、以下の関数を挿入します。
2桁目のパスワードにも使用するため、セルは絶対参照の『$』を付けてください。
=MID($B$2,RANDBETWEEN(1,LEN($B$2)),1)
関数の構造を簡単に説明します。
文字を抽出するMID関数を用いて、1つ目の引数「文字列」にパスワードに使うセルB2セルを指定します。
2つ目の引数「開始位置」にRANDBETWEEN関数とLEN関数を用いて、パスワードに使う文字数以内でランダムな開始位置を指定します。
3つ目の引数「文字数」で”1”を指定し、1文字を抽出するように指定します。
手順3.2桁目以降のパスワードを完成
手順2で作成した関数を『Ctrl+C』でコピーし、2桁目から5桁目のパスワードのセルに『Ctrl+V』で貼り付けします。
『F9』キーを押すごとにパスワードがランダムに自動で生成されることを確認してください。
作成したパスワードを変更したくない(固定したい)場合は、パスワードをコピーして、別のセルに値貼り付けして保存してください。
手順4.5桁のパスワードを結合( 任意)
5桁のパスワードを一つのセルの中で結合したい場合は、”&”を使って、1桁目から5桁目の文字を結合してください。
=B5&C5&D5&E5&F5
結合したパスワードを確認して作業は完了です。もちろん、結合したパスワードも『F9』キーを押すことでランダムに変化します。
アルファベットや数字が少なくとも一文字含まれるパスワードを作成
上の見出しの方法を使うことで英数字混合のランダムなパスワードを作成することが出来ます。
しかし、英数字の組み合わせ次第では、すべてが数字になったり、すべてがアルファベットになってしまう可能性があります。
この見出しでは、少なくとも1文字は数字とアルファベットが混在するパスワードを作成する方法を紹介します。
手順1.パスワードに使う文字列を分けて入力
パスワードに使う数字と、パスワードに使うアルファベットをそれぞれ分けてセルに入力します。
手順2.「1」か「2」のランダムな数字を作成
「1」か「2」のランダムな数字を作成するために、RANDBETWEEN関数をC7セルに挿入します。
=RANDBETWEEN(1,2)
手順3.RANDBETWEEN関数をコピペ
手順2のRANDBETWEEN関数をコピペします。5桁のパスワードを作成する場合は、1桁分少ない4つのセルを作成します。
手順4.5桁目の数字を作成
全ての数字が「1」もしくは「2」にならないように、5桁目のセルには、以下のIF関数を挿入します。参照先のセルを4桁目のF7セルを指定していますが、C7、D7、E7セルのどのセルでも大丈夫です。
=IF(F7="1",2,1)
手順5.1桁目のパスワードを作成
1つ前の見出しで紹介したMID関数をRANDBETWEEN関数とLEN関数を組み合わせて挿入します。手順2~4で作成した「1」OR「2」によって、パスワードに使う文字列の参照セルをIF関数で変更する、という仕組みです。
=IF(C7=1,MID($C$3,RANDBETWEEN(1,LEN($C$3)),1),
MID($C$4,RANDBETWEEN(1,LEN($C$4)),1))
関数の赤文字部分が、C3セルの数字『1234567890』から1文字を抽出するMID関数です。
関数の青文字部分が、C4セルのアルファベット『ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz』から1文字を抽出するMID関数です。
関数は長いけど、2つのMID関数は1つ前の見出しをコピペしてるだけだよ。
手順6.2~5桁目のパスワードを作成
手順5の関数を隣のセルにコピペして、2~5桁目のパスワードを作成します。
手順7.完成
『F9』キーを押すごとに、アルファベットと数字が少なくとも1文字以上混在したパスワードがランダムに自動で生成されることを確認してください。作成したパスワードを変更したくない(固定したい)場合は、パスワードをコピーして、別のセルに値貼り付けして保存してください。
(おまけ)ランダム関数を使った便利技のご紹介
今回紹介したRANDBETWEEN関数は、好きな数値の範囲を指定してランダムな整数を作成する関数です。
この関数の姉妹関数として、RAND関数(ランド)という0~1までのランダムな数字を作成する関数も存在しています。
これら2つの乱数を発生させる関数を使って利用出来る便利技を以下の記事で紹介していますので、興味のある方は参考にしてください。
抽選、席替え、並べ替えの方法
レイアウトを自由に変更できる座席表
算数ドリルの作成方方法