きっかけは、Kasperskyインターネットセキュリティがたびたび「自宅のWiFi[SSID]は安全ではありません。」みたいなアラートを表示していたのでWiFiのセキュリティについて考えていたことです。
検索してみると、ルーターの暗号方式をWEPからWPA2にする、SSIDをブロードキャストしない設定にする、パスワードを複雑なものにするなどといったありきたりのことでしたが、もしかしてデフォルトのSSIDがいけないのかとExcelでランダムなSSIDを作ろうと思いつきました。
さあ、数字6文字と英字6文字の12桁のSSIDをRAND関数で作ってみよう。
まず、[A1]から[A26]まで1~26の数字をCtrl+オートフィルで、[B1]から[B26]までA~Zまで手入力でテーブルを作ります。
次に、[D1]から[D12]まで1~12の数字を、[E1]に以下の数式を入力して[E6]までをオートフィルして、アルファベット6文字の乱数を作ります。
=VLOOKUP(RANDBETWEEN(1,26),$A$1:$B$26,2)
次に、[E7]に以下の数式を入力して[E12]までオートフィルして数字6文字の乱数を作ります。
=RANDBETWEEN(0,9)
これで12文字の乱数ができました。次に[G1]から[G12]まで=RAND()をオートフィルして、[H1]から[H12]までを以下の数式をオートフィルして重複しないランダムなインデックス(順序数)を作ります。
=RANK(G1,$G$1:$G$12)
最後にDE列のテーブルで作った乱数を、H列のインデックス順にI列でVLOOKUPして[I12]までオートフィルします。
I1=VLOOKUP(H1,$D$1:$E$12,2)
後は[F9]キーを何回か押して好きな英数列が出来るまで再計算すれば出来上がり。
ポイントは、以下URLにもありますがRAND関数で作った乱数にRANK関数で重複のない順序を与えてあげるところですね。
参考URL http://office-qa.com/Excel/ex205.htm