- ベストアンサー
無作為に選んだ数字とアルファベットの組合せって出来ますか?
無作為に選び出した数字とアルファベットを組合せ(半角8文字) を何十パターンも作りたいのですが、マクロやVBAと言ったもの で簡単に作成出来る方法を知っている方いませんか? そういう事が可能かもわかりませんが、きっとプログラムを組む と出来そうな気がします。分かる方がいたら、その方法を教えて いただけませんか?よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
計算用のセルを16個用意します。まずはうち8つに =INT(RAND()*36) これを書けば、8つの0-35までの乱数が出てきます。 乱数を作ったセルをA1~A8とすると、このセルに対して各々 =IF(A1<10,CHAR(A1+48),CHAR(A1+55)) とすれば、0-9とA-Zの文字が出てきます。上記式を書いたセルを B1~B8とすると、後は =B1&B2&B3&B4&B5&B6&B7&B8 これでランダムな文字列が出来ます。別の文字列を作りたい場合は [F9]キーを押せば新しい文字列になります。 この方法は「乱数を作っておき、その乱数でコード番号を呼び出す」 という非常に簡単な方法ですので、応用は色々と利くと思います。
その他の回答 (3)
- okormazd
- ベストアンサー率50% (1224/2412)
原始的な方法で、申し訳ないが、以下。 1. A1から下の方に、0,1,2,・・・8,9,0,1,2,・・・8,9,0,・・・ と行50までフィルする。 2. A51から下の方に、A,B,C,D,・・・Y,Z,a,b,c,・・・y,z と行102までフィルする。(ユーザー設定リストを登録しておけばフィルできるが、そうじゃなければ手入力か) 3. B1に、 =INT(RAND()*102)+1 と入れて、B8までフィルする。 3. B9に、 =INDIRECT("A"&B1) と、入れて、B16まで、フィルする。 4. B17に、 =CONCATENATE(B9,B10,B11,B12,B13,B14,B15,B16) と入れる。 5. B1からB17まで選択して右に好きなだけフィルする。 行17に目的のデータが取れる。 0~9を50個入れたのは、取られる確立をアルファベットと同程度にしようとしただけ。
お礼
丁寧にご回答ありがとうございました。 原始的とおっしゃっていますが、ちょっと難しいです。
- correo
- ベストアンサー率50% (61/122)
任意の文字、文字数で組み合わせのはパスワードを 作成する分野で広く、ソフトがあります。 ベクターのサイトの「パスワード生成・管理」を紹介したします ので、ご希望の機能があるソフトをお選びください。 http://www.vector.co.jp/vpack/filearea/winnt/util/security/password/
お礼
ありがとあうございました。 いろいろありますね?フリーソフトでこんなに あるのですね?びっくりしました。
- meet_again
- ベストアンサー率36% (41/111)
こんなページがありました。 ソースも載っているので、改造もしやすいかと・・。
お礼
ありがとうございます。 HP見てみましたが、ソースが難しいので、 やはり勉強が必要そうです。
お礼
ありがとうございます。 このやり方なら簡単な分だけ、あまり理解が 出来ていませんが、私でも使えそうです。