プロが教えるわが家の防犯対策術!

Excel2003上で任意でパスワードを作りたいのですが、
できれば関数のみで作る方法をお教えください。
条件は以下です。
・同じシート内にパスワードを作り積み上げていく。
・左から6ケタ
・左から
任意の大文字アルファベット1つ
任意の小文字アルファベット1つ
0~9の任意の数字4ケタ
・毎日、10個程度のパスワードを発行したい
・できれば重複は避けたい
などです。
数字4ケタのみなら簡単な関数で乱数のようなものを作れたのですが、アルファベットも絡むと難しくて…

ご教授いただけると幸いです。

A 回答 (1件)

方法は複数考えられますが、乱数は作れるわけなので、数値から文字を作り出せれば解決ですよね?であれば、CHAR関数が使えます。

これは太古の8ビットPCでBASICを使っていた人には馴染みやすい関数ですが、CHAR(数値)とすると、数値を文字コードとした文字が返ってきます。例えばCHAR(65)の結果はAです。CHAR(66)ならBで、67はC。以下順番に続き、90がZになります。小文字は97~122でa~zになります。と言うことは、

1)65~90の乱数を作る部分
2)97~122の乱数を作る部分
3)0~9999の乱数を作る部分
4)乱数の重複をはじく部分
5)最初の二つの乱数から文字に変換し、0~9999の乱数とくっつける部分

これだけの処理を集めればよいことになります。

1)~3)は、RANDBETWEEN関数を使えば一発です。すでにご存じかも知れませんが。
http://www.relief.jp/itnote/archives/001184.php

4)の重複をはじく部分ですが、うまい関数があります。
http://www.relief.jp/itnote/archives/001798.php

ここまでくれば、あとはもうできますよね。

おまけに、もしパスワードに記号を使いたくなった場合に備えて、文字コード表(ASCIIコード表)のリンクを貼っておきます。記号もコードさえ解れば、アルファベットと同じくCHAR関数で簡単に作れますから。もし何なら、数値もCHAR関数で作ってしまうこともありですね。

http://www9.plala.or.jp/sgwr-t/c_sub/ascii.html
    • good
    • 0
この回答へのお礼

siremono2496さま

詳しい内容のご教授ありがとうございます。
大変助かりました。
まずは一度、チャレンジしてみます。

お礼日時:2011/08/24 20:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す