確率に基づいて乱数を計算する乱数ジェネレーターを作成するにはどうすればよいですか?
たとえば、セル A1 と B1 から始まる可能性のある次の数字があります。
100 5%
75 10%
50 42%
30 30%
15 5%
0 8%
したがって、数式は「ランダムに」数値「15」を 5% の確率で返します。
確率に基づいて乱数を計算する乱数ジェネレーターを作成するにはどうすればよいですか?
たとえば、セル A1 と B1 から始まる可能性のある次の数字があります。
100 5%
75 10%
50 42%
30 30%
15 5%
0 8%
したがって、数式は「ランダムに」数値「15」を 5% の確率で返します。
わずかに少ないオーバーヘッド:
値の参照チャートを作成し、現在の確率の合計を作成します。
C D E
100 5% 0
75 10% 5%
50 42% 15%
30 30% 57%
15 5% 87%
0 8% 92%
次に、このチャートで 0 ~ 1 の乱数を検索します。 =LOOKUP(RAND(),$E$2:$E$7,$C$2:$C$7)
5224 個の数値を生成し、結果のピボット チャートを作成しました。更新すると、パーセンテージがターゲットの周りで少し揺れましたが、すべての試行は良好に見えました.
Row Labels Count Percentage Target
0 421 8.06% 8%
15 262 5.02% 5%
30 1608 30.78% 30%
50 2160 41.35% 42%
75 490 9.38% 10%
100 283 5.42% 5%
Grand Total 5224 100.00%
または、2 つのセルと長い if ステートメントを使用して実行することもできます。
=RAND()
=IF(A9<0.05,100,IF(A9<0.15,75, ... 0))...
vlookup と rand between を使用できます。
rand between を使用する必要があります。http://office.microsoft.com/en-us/excel-help/rand between-HP005209230.aspx
vlookup: http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx
1 から 100 までの連続した数字を 1 つの列に入力します。別の列に 5 つの 100、10 の 75、42 の 50 などを入力します。
今...
=VLOOKUP(RANDBETWEEN(1,100),A1:B100,2)
これを行うにはおそらくより良い方法がありますが、これを試してみたところ、うまくいくようです。