• 締切済み

関数 ランダム 指定した条件

よろしくお願いします! =INT((10-1+1)*Rand()+1) のようにすれば、1~10までのランダムな数字が入力できる訳ですが、例えば2,3,5,7のように指定した数字からランダムで入力(選択)させることを関数を使って行う事は出来るのでしょうか? マクロを使わないと無理でしょうか? 全く別件ですが、Rand()の()内に何か入力して使う機会というのはあるのでしょうか?

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

>Rand()の()内に何か入力して使う機会というのはあるのでしょうか?  ⇒参考ですが、RAND関数はありませんが、同様のRANDBETWEEN関数は使用します。   この範囲なら=RANDBETWEEN(1,10)関数で最小~最大で指定します。   一例ですが、LOOKUP関数とのコラボは如何でしょうか。   =LOOKUP(RANDBETWEEN(1,10),{1,3,6,8},{2,3,5,7})

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

たとえば乱数で1から4まで発生させておいて =CHOOSE(INT(RAND()*4)+1,2,3,5,7) といった具合に対応させて計算してもイイですね。 =LOOKUP(RAND()*4,{0,1,2,3},{2,3,5,7}) といった具合に,対応表を用意して計算してもできます。 ちなみにこちらの手を使うと,結果の値の出る確率(分布)に偏りを持たせると言ったことも容易に出来ます。 >カッコ内 そういえばご利用のソフト名から不明ですが,仮にエクセルでは,RAND関数のカッコの中に何か入力することは「できません」。入れてもエラーになるだけです。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

作業用セルを使ってもよいのであれば、 作業用セルに候補の数字を入力しておいて、 乱数の範囲をセルの個数にすれば、結果の乱数は、その番号になりますよね。 あとは、セル参照すれば、可能です。 別件については、調べればわかることです。 http://officetanaka.net/excel/vba/function/Rnd.htm

関連するQ&A