( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

【エクセル】NORM.INV関数|正規分布する乱数を発生させる方法

正規分布する乱数とは?

乱数」というのはランダムに数値を抽出することです

正規分布」とはデータが平均値の付近に集積するような分布を指します

統計用語に苦手意識があるかもしれませんが

なるべく分かりやすく説明していきます

まずは「乱数」のイメージ

例えば「0~100」の乱数を発生させてみましょう

「0」「10」「50」「80」などが等しく羅列します

「RANDBETWEEN関数」を使って「0~100」の乱数を1,000個抽出してみました

バラツキはありますが、「0~100」の中でランダムに数値が出ています

続いて「正規分布」のイメージ

今回の主役である「NORM.INV関数」を使って「データが平均値の付近に集積するような分布」である「正規分布」を抽出します

平均=50 標準偏差=10 とします(ROUND関数で四捨五入)

平均の50を中心に山なりになっていますね

これが正規分布の図となります

NORM.INV関数の使い方

NORM.INV関数」では3つ指定する箇所があります

1つ目の指定箇所は「RAND関数」をそのまま入れてください

【エクセル】RAND関数|ランダムな数値を発生させる関数

続いて「平均」と「標準偏差」を入れましょう

ここは関数ではなく数値を記入します

身長で使ってみる

事例として分かりやすいように「身長」でご説明していきます

2017年の「日本人の女性の平均身長と標準偏差」の情報を使います

※下にコピーするため「絶対参照」を付けましょう

NORM.INV関数」を使って1,000人に身長を付与しています

そこから「身長別」に人数を集計しましょう

※男性も同様に集計してみます

この表からグラフも作成してみます

女性の分布の方が男性より「左=低身長」であることが分かります

このように「平均」と「標準偏差」だけで、このようなグラフまで作成することができます

バージョンが違う?

NORM.INV関数」には昔のエクセルのバージョンに対応している

「NORMINV関数」という関数もあります

(.)ピリオドが違うだけなので、どちらを使っても大丈夫です

まとめ

今回は「NORM.INV関数」についてご紹介してきました

「RAND関数」と組み合わせて、正規分布する乱数を試してみてください

コメントを残す

メールアドレスが公開されることはありません。