xellstorm 学習センター
JA
アプリを開く

Excelで一様分布の乱数を作る:2つの値の間の乱数

ガイド · 2026年10月更新

ひとことで言うと:最小値から最大値までのどの値も、同じ確率で起こります。サイコロを、範囲全体に引き伸ばしたようなものです。

一様分布は、最小値から最大値までのどの値も同じ確率で起こる分布です。Excelでは =min + (max - min) * RAND() で値を引け、整数なら RANDBETWEEN(min, max) で引けます。単価が40〜60(USD)の間にあるとき、平均は50、P10は42、P90は58です。

一様分布とは

2つの数値で決まります。取りうる最も低い値と、最も高い値です。その間の密度は平らなので、範囲のどの部分にも、幅に比例した割合の結果が入ります。範囲の幅が20なら、1単位あたり結果の5.0%が入り、P10は最小値から範囲の10分の1の位置にあります。

グラフの見方:棒は、シミュレーションで引いた10,000個の値がその区間にいくつ入ったかを表し、線は理論上の曲線です。棒が高いほど、その付近の値がよく出ます。ここでは棒の高さがほぼそろっています。範囲のどこも、特別に出やすくはありません。

40〜60の一様分布xellstormが単価を10,000回引いた値のヒストグラム。40〜60で平らな形で、理論上の平らな密度を線で重ねています。40を下回る値も、60を上回る値もありません。405060P10 42P90 58
単価(USD)、40〜60の一様分布。棒:xellstormによる10,000回の引き、線:理論上の曲線。範囲を同じ幅で区切れば、どの区間にも同じ割合の引きが入ります。
数式:平均、標準偏差、パーセンタイル
一様分布の数式。最小40、最大60の場合の計算例
量数式と計算例
平均と中央値(min + max) / 2
= 50
標準偏差(max − min) / √12
= 20 / 3.464 = 5.77
パーセンタイルpmin + p × (max − min)
P10 = 42、P90 = 58

Excelでの一様分布

RAND() 自体が、0〜1の一様乱数です。これを任意の範囲に引き伸ばすと、その範囲の一様乱数になります。1つのセルにまとめると =D9+(F9-D9)*RAND() で、最小がD9、最大がF9にあります。整数には、minからmax(両端を含む)までの整数を返す RANDBETWEEN(min, max) を使います。

Excelでの一様分布:Excelファイルの9行目。最小はD9、最大はF9
セル数式値
乱数 u(I9)=RAND()
引いた値(J9)=D9+(F9-D9)*I9
1つのセルで引く=D9+(F9-D9)*RAND()
平均(K9)=(D9+F9)/250
P10 (L9)=D9+(F9-D9)*0.142
P90 (M9)=D9+(F9-D9)*0.958
数値の確認:理論値と、Excelとxellstormがそれぞれ引いた10,000個の値の比較
単価、一様分布:理論値と各10,000回の引き
理論値Excel(RAND())xellstorm
平均50.0049.9650.00
標準偏差5.775.785.77
P1042.0041.9742.00
P50(中央値)50.0049.9150.00
P9058.0057.9558.00

Excelは RAND() で完全にランダムに引きます。xellstormは範囲全体に均等に散らして引く(ラテンハイパーキューブサンプリング)ので、統計値が理論値に近くなります。

一様分布が合う場面

範囲だけがわかっていて、それ以上のことはわからない場合に使います。範囲内に、他よりもっともらしい値がないということです。これは見かけよりまれです。端より真ん中に賭けたくなるなら、三角分布かPERT分布がそれを表します。同じ40〜60の範囲で、50に山がある三角分布は、結果の75.0%が45〜55に入ります。一様分布で入るのは50.0%だけで、標準偏差は5.77と、三角分布の4.08より大きくなります。

xellstormで一様分布を入力する

  1. セルを入力にして、「分布」ステップで一様分布を選び、最小と最大を入力します。整数なら離散一様分布を選びます。
  2. 過去の値があれば、サイドパネルの「データから」が一様分布を他の形と比べるので、データが本当に平らかどうかがわかります。

「Excelファイルから取り込み」は、=a + (b - a)*RAND() のようなセルを一様分布の入力に、RANDBETWEEN(a, b) を離散一様分布の入力に変換します。アドイン向けのモデルは、RiskUniform、VoseUniform、PsiUniform から変換できます。

よくある質問

Excelで2つの値の間の乱数を作るには?

=min + (max - min) * RAND() を使います。40〜60の値なら =40 + (60 - 40) * RAND() です。整数なら =RANDBETWEEN(40, 60) を使います。どちらも、シートを再計算するたびに引き直します。

一様分布の平均と標準偏差はいくつですか?

平均は中点で、(min + max) / 2 です。標準偏差は (max − min) / √12 で、幅の約0.29倍です。40〜60なら、平均は50、標準偏差は5.77です。

一様分布と三角分布、どちらを使えばよいですか?

範囲内に、他よりもっともらしい値がないなら一様分布、最も可能性の高い値があるなら三角分布かPERT分布を使います。同じ範囲なら、一様分布の方が広く散らばります。標準偏差は5.77で、真ん中に山がある三角分布の4.08を上回ります。

関連ページ

xellstormは、Excelモデル向けのブラウザー型モンテカルロシミュレーションツールです。アドインは不要で、Excelファイルがパソコンの外に出ることはありません。