Excelで確率的な振る舞いをシミュレートするには、確率変数を作り出す必要があります。Excelには0から1までの一様分布に従った乱数を発生させる関数RAND()がありますので、これを利用します。
ある確率変数が0から1までの一様分布に従う確率変数であるとすると、そのような確率変数をExcelのあるセルに発生させるには、そのセルに「=RAND()」と入力すればよいことが分かります。では、0から2までの一様分布に従う確率変数を発生させるにはどうしますか? ちょっと考えればこれは「=2*RAND()」でよいことが分かります。では2から4までの一様分布に従う確率変数の場合はどうでしょう? これは「=2*RAND()+2」になりますね。
ある確率密度関数を持つような確率変数をExcel上で発生させるにはどうしたらよいでしょうか? それを考えるために、先ほどの3つの例について分布関数とExcelに入力した関数を比較してみます。
最初のの場合は
次のの場合は
最後のの場合は
これだけ見てもお互いの関係がよく分かりません。そこでから累積確率関数を求めて、それらを比較することにします。累積確率関数は
で定義されます。そうすると
の場合は
の場合は
の場合は
上には、累積確率関数のグラフも一緒に示しました。上の累積確率関数とExcelへの入力を比較すると、どうやらExcelには(RAND())と入力すればよいらしいことが分かります。ここではの逆関数を表します。ここから類推すると、ある確率密度関数を持つような確率変数をExcel上で発生させるには
ということになりそうです。