• ベストアンサー

抽選会の当選番号を決めるのに、入場者は500人、賞品は36個として、エ

抽選会の当選番号を決めるのに、入場者は500人、賞品は36個として、エクセルで A1:F6に =RAND()*(500+1)-1 を入れたところ、何度かやっているうちに、同じ数字が出てきました。 0から1の間の小数を四捨五入しているらしいので当然ですが、同じ番号が有っては都合が悪いので、同じ番号が出たら文字の色を変えるとか、セルの色を変えるとかして警告したいのですが、簡単な方法があれば教えてください。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.1

添付図参照 F2: =RAND() G2: =RANK(F2,$F$2:$F$501) A2: =SMALL($G$2:$G$37,(ROW(A1)-1)*4+COLUMN(A1))

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

お考えの方法では表示された数値を整数に変換しているのでしょう。その場合には当然同じ数値となって表示されますね。本来RAND関数で求められる数値で同じ数値が得られることは皆無といっても良いでしょう。 つぎのようにすればよいでしょう。 初めに作業列としてH1セルには =RAND() と入力し、I1セルには =RANK(H1,H$1:H$500) を入力してそれぞれのセルの式をH500、I500セルまでオートフィルドラッグします。 これによってRAND関数で得られた数値にランクが付けられ1から500までの数値がI列にランダムに表示されます。 当選番号を決めるにあたって、I列で1から36までの数値のある行を表示させることにすればよいでしょう。 A1セルには次の式を入力してF1セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(ROW(A1)>6,COLUMN(A1)>6),"",MATCH((ROW(A1)-1)*6+COLUMN(A1),$I:$I,0)) F9キーを押すことで抽選を繰り返すこともできますね。

bofemian
質問者

お礼

ありがとうございました。助かりました。

関連するQ&A