• ベストアンサー

無作為に選んだ数字とアルファベットの組合せって出来ますか?

無作為に選び出した数字とアルファベットを組合せ(半角8文字) を何十パターンも作りたいのですが、マクロやVBAと言ったもの で簡単に作成出来る方法を知っている方いませんか? そういう事が可能かもわかりませんが、きっとプログラムを組む と出来そうな気がします。分かる方がいたら、その方法を教えて いただけませんか?よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21373)
回答No.3

計算用のセルを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]キーを押せば新しい文字列になります。 この方法は「乱数を作っておき、その乱数でコード番号を呼び出す」 という非常に簡単な方法ですので、応用は色々と利くと思います。

huaban
質問者

お礼

ありがとうございます。 このやり方なら簡単な分だけ、あまり理解が 出来ていませんが、私でも使えそうです。

その他の回答 (3)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.4

原始的な方法で、申し訳ないが、以下。 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個入れたのは、取られる確立をアルファベットと同程度にしようとしただけ。

huaban
質問者

お礼

丁寧にご回答ありがとうございました。 原始的とおっしゃっていますが、ちょっと難しいです。

  • correo
  • ベストアンサー率50% (61/122)
回答No.2

任意の文字、文字数で組み合わせのはパスワードを 作成する分野で広く、ソフトがあります。 ベクターのサイトの「パスワード生成・管理」を紹介したします ので、ご希望の機能があるソフトをお選びください。 http://www.vector.co.jp/vpack/filearea/winnt/util/security/password/

huaban
質問者

お礼

ありがとあうございました。 いろいろありますね?フリーソフトでこんなに あるのですね?びっくりしました。

回答No.1

こんなページがありました。 ソースも載っているので、改造もしやすいかと・・。

参考URL:
http://www.niji.or.jp/home/toru/notes/6.html
huaban
質問者

お礼

ありがとうございます。 HP見てみましたが、ソースが難しいので、 やはり勉強が必要そうです。

関連するQ&A

専門家に質問してみよう