- ベストアンサー
Excel2003で乱数を作る関数
Excel2003上で任意でパスワードを作りたいのですが、 できれば関数のみで作る方法をお教えください。 条件は以下です。 ・同じシート内にパスワードを作り積み上げていく。 ・左から6ケタ ・左から 任意の大文字アルファベット1つ 任意の小文字アルファベット1つ 0~9の任意の数字4ケタ ・毎日、10個程度のパスワードを発行したい ・できれば重複は避けたい などです。 数字4ケタのみなら簡単な関数で乱数のようなものを作れたのですが、アルファベットも絡むと難しくて… ご教授いただけると幸いです。
- みんなの回答 (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
お礼
siremono2496さま 詳しい内容のご教授ありがとうございます。 大変助かりました。 まずは一度、チャレンジしてみます。