- 締切済み
エクセル 乱数について
ある特定の数値から指定する範囲内での乱数を作成する方法をおしえてください。 例えば、 100=特定の数値 100から+10(指定する範囲内)までの乱数
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
ExcelのバージョンがExcel2007よりも前のバージョンである場合には、RANDBETWEEN関数を使用するためには、アドインが必要になります。 【参考URL】 インストラクターのネタ帳 > Excel エクセルの使い方-関数/計算式-数学 http://www.relief.jp/itnote/archives/001184.php ワード・エクセル・パワーポイント > エクセル・Excel > その他 > アドインとは http://www.becoolusers.com/excel/add-in.html ですから、もしお使いのExcelのバージョンがExcel2007よりも前のバージョンである場合で、且つ、アドインを行いたくない場合には、 =RAND()*10+100 という関数となります。 又、特定の数値や指定する範囲を、別のセルに値を入力して指定する場合、例えばC3セルで特定の値を指定して、C4セルで範囲を指定する場合には、次の様な関数となります。 =RAND()*C4+C3 ここまでは他の回答者様方が既に回答されている関数と同じ内容になりますが、上記の関数では、取り出される乱数が小数点以下の桁を含むものとなります。 そして、確率的な問題から、100丁度や110丁度の様な、指定範囲の端に当る値が取り出される事は殆どありません。(100.000・・・001~101の範囲内や109~109.999999999・・・の範囲内に含まれる数値になる確率はそれぞれ約10分の1ですが、100丁度や110丁度になる確率は限りなく低い) ですから、もし、サイコロが1~6までの各値を同じ確率で取り出す事が出来るのと同様に、100から110までの範囲内の各整数値(100,101,102,103,104,105,106,107,108,109,110)を、ランダム且つそれぞれ等しい確率で取り出す場合には、以下の様な関数とした方が良いと思います。 =INT(RAND()*(10+1))+100 或いは =INT(RAND()*(C4+1))+C3
- sanori
- ベストアンサー率48% (5664/11798)
No.1の回答者です。 >>> 追加なのですが、例えば あるセルの値(100)から5%(100×1.05)というような条件で整数の乱数発生が可能でしょうか。 はい。これもさっきの応用です。 たぶん、乱数はたくさんのセルに発生させるということだと思いますので、 各セルの中の式は、なるべく軽い方がよいです。(文字数が少ない方がよいです。) つまり、あらかじめどこかのセルに、0.05という数字を出しておくということです。 例 セルB2に「下限=」とメモ。 セルB3に「範囲(%)=」とメモ。 そして、セルB4に「上限」とメモ。 セルC2に下限の値(例:100)を入力。 セルC3に範囲の幅(例:5)を入力。 セルC4に =C2*C3/100 と数式入力。←これであらかじめ範囲を出せました。 そして、どこかのセル(1つのセルでもよいし複数のセルでも良いし大量でも良い)に、 =$C$2+$C$4*RAND() と数式入力。(文字数が少ないシンプルな式で済みましたよね。) これで完成です。
- okormazd
- ベストアンサー率50% (1224/2412)
=RANDBETWEEN(100,110)
- sanori
- ベストアンサー率48% (5664/11798)
こんにちは。 この手の質問が投稿されると、「MS Office Office系ソフト」のカテゴリーで質問してください、というような指摘をする人がいますけど、これって、単純に使用方法ではなく、数学知識の要る応用ですよね。 ・・・と質問者様を保護した上で回答しますが、 RAND関数は0から1をランダムに発生させるので、 範囲の幅を10に広げるのですから、10をかけます。 そして、下限を100にするので、100を足します。 よって、 =100+10*RAND() とすればOKです。 もしも、「特定の数値」を色々変えたいよいでしたら、 たとえば、セルB2に「特定の数値=」とかメモして、隣のセルC3に特定の数値を入れるとして、 乱数発生のセルそのものには、 =$C$3+100*RAND() と書けばよいです。 $をつけることにより、乱数発生のセルをコピー・貼り付けで増殖させても大丈夫になります。
お礼
ありがとうございます。 大変わかりやすいご説明ありがとうございます。 追加なのですが、 例えば あるセルの値(100)から5%(100×1.05)というような条件で整数の乱数発生が可能でしょうか。
お礼
ありがとうございます。 関数をあまり使用することがなく大変困っていました。 勉強になりました。