- 締切済み
関数 ランダム 指定した条件
よろしくお願いします! =INT((10-1+1)*Rand()+1) のようにすれば、1~10までのランダムな数字が入力できる訳ですが、例えば2,3,5,7のように指定した数字からランダムで入力(選択)させることを関数を使って行う事は出来るのでしょうか? マクロを使わないと無理でしょうか? 全く別件ですが、Rand()の()内に何か入力して使う機会というのはあるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mu2011
- ベストアンサー率38% (1910/4994)
>Rand()の()内に何か入力して使う機会というのはあるのでしょうか? ⇒参考ですが、RAND関数はありませんが、同様のRANDBETWEEN関数は使用します。 この範囲なら=RANDBETWEEN(1,10)関数で最小~最大で指定します。 一例ですが、LOOKUP関数とのコラボは如何でしょうか。 =LOOKUP(RANDBETWEEN(1,10),{1,3,6,8},{2,3,5,7})
- keithin
- ベストアンサー率66% (5278/7941)
たとえば乱数で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)
作業用セルを使ってもよいのであれば、 作業用セルに候補の数字を入力しておいて、 乱数の範囲をセルの個数にすれば、結果の乱数は、その番号になりますよね。 あとは、セル参照すれば、可能です。 別件については、調べればわかることです。 http://officetanaka.net/excel/vba/function/Rnd.htm