- 締切済み
乱数表の作成と差込印刷
0~9までの数字を6つ使い乱数表を作成したいのですがなかなかうまく出来ません。お同じ数字を3回使わないようにうしたいのですがどうしたらいいのでしょうか? 出来た6桁の乱数を決まっている書式に差込み、印刷ができるようにもしたいのですが…。よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- NCU
- ベストアンサー率10% (32/318)
関数「myRnd」というのを作りました。 =myRnd(6,2) のように使います。 '[書式]=myRnd(桁数, 反復回数の上限) Function myRnd(桁%, 回%) As String If 桁% > 回% * 10 Then Exit Function Dim i%, r%, chk%(0 To 9) For i% = 1 To 桁% Randomize Do r% = Int(10 * Rnd) Loop Until chk%(r%) < 回% '指定上限回数既出はNG chk%(r%) = chk%(r%) + 1 myRnd = myRnd & r% Next End Function
[No.2回答に対する補足]に対するコメント、 「会社のPC」にインストールされているのは Excel97 ですか?アドインの“分析ツール”を組み込めば、=RANDBETWEEN()関数が使えるようになりますよ。それはソレとして… =INT(100000+900000*RAND()) では如何?
[No.1回答に対する補足]に対するコメント、 =RANDBETWEEN(100000,999999) では駄目なのですか?
「なかなかうまく出来ません」ということは、ご自分でやってみたわけですね。 貴方が考えた「6桁の乱数」発生の方法(式?)を示してみてください。
補足
とりあえずINT((RAND()*(9-1)+1))という計算式を作りました。3回同じ数字を使ってもいいのならこのままコピーをしていくのですが…。ここから先がどうしたらよいのかわかりません。 計算式やマクロを最近勉強し始めたので、初歩の初歩しか出来ないので良い案があれば教えてください。
補足
会社のPCなのですがRANDBETWEEN自体がインストール?されていないようです。