- ベストアンサー
エクセルでビンゴの用紙を作成したい
XPを使用しています。 ビンゴでよく使用する5×5のマス目で60までのランダムな数値が入っています。RAND関数=roundup(rand()*60,0)を使い挿入しています。 しかし、どうしても重複した数値が入ってしまいます。 重複しないためにはどうしたらよいか・・・(-_-;) 子ども会で100名ほどに印刷して切って使う予定にしています。どなたか、ご存知でしたら、教えてください。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3の方に似ているような、似てないような方法ですが、 (1)G1セル =RAND() と入力し、G60セルまでコピー (2)A1セル =MATCH(SMALL($G$1:$G$60,(COLUMN()-1)*5+ROW()),$G$1:$G$60,0) と入力し、E5セルまでコピー でF9(再計算)を押すたび1~60までがランダムに表示されます。 #4さんの考え方で、 A列:1~12 B列:13~24 C列:25~36 D列:37~48 E列:49~60 ならば A1セルに =MATCH(SMALL(OFFSET($G$1,(COLUMN()-1)*12,0):OFFSET($G$12,(COLUMN()-1)*12,0),ROW()),$G$1:$G$60,0) でE5セルまでコピーでできると思います。
その他の回答 (4)
- bin-chan
- ベストアンサー率33% (1403/4213)
60までの数値という条件がつく事情がおありでしょうが、 以前同じようにPCでカードを作って大失敗したことがあります。 市販のカードは縦5マスを1セットに考えると 左から右へ以下の範囲で書かれているようです。 左端:1~20 左中:21~40 中央:41~60 右中:61~80 右端:81~100 これを考慮せずに作成したら、数値が結構偏ってまして、 BINGO!が当分でず、最後の方に集中してしまったことがあります。 というわけで、市販のカードの方がお手軽であると思います。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 作業列を2列使用する方法です。 5×5のマスをA1~E5として、G、H列を作業列とします。 G1~G60まで1、2、3・・・60と連番を振ります。 H1に、 =RAND() と入力してH60までコピーします。 A1に、 =OFFSET($G$1,COLUMN(A1)-1+(ROW(A1)-1)*5,0,1,1) と入力して、行・列方向それぞれへコピーします。 あとは、GH列を選択して、H列で並べ替える度に、1~60までの値が重複せずにランダムに表示されます。 (並べ替え操作をするとRAND関数が更新されるので。) 並べ替えごとに印刷するなり、値のみをコピーペーストすればいいでしょう。 ただ、No.1の方が言うように、100名程度なら、本物のビンゴ用紙を買ったほうがいいような・・・
- happypoint
- ベストアンサー率36% (521/1422)
>百円ショップで、ビンゴの用紙を売っていますので、そちらの方が早いかと思います。 たしかに。 私もそう思います。 そうではなくて、趣味や知識のひとつとして、VBAでのランダムな数値を取得するテクニックを知りたいということでしたら、また補足してください。
- PAPA0427
- ベストアンサー率22% (559/2488)
すみません。 回答ではありません。ご質問の事をするとしたら、VBAでプログラムを書く必要があります。大変な労力が必要になります。 百円ショップで、ビンゴの用紙を売っていますので、そちらの方が早いかと思います。