Excelで標準偏差と偏差値を求める方法!STDEV.SとSTDEV.Pの使い分けも!

Excelで標準偏差と偏差値を求める方法!STDEV.SとSTDEV.Pの使い分けも!
Excelでテストの標準偏差や偏差値を求めたいときはないでしょうか。

けど、そんな中で悩むことは、

・標準偏差の求め方がわからない
・STDEV.SとSTDEV.Pのどちらを使えばいいか迷う
・偏差値の計算式が思い出せない

ですよね。

今回はそんなお悩みを解決する

・Excelで標準偏差と偏差値を求める方法(STDEV.S・STDEV.P・VAR.S・STANDARDIZE・偏差値の計算式)

についてまとめます!

完成イメージ

テストの点数から、平均・分散・標準偏差を計算し、一人ひとりの偏差値まで出せるようにします。
今回は
・点数の表に「偏差値」の列を追加し、下の集計エリアに標準偏差や分散をまとめる
をゴールにします。
偏差値は平均が50になるので、集団の中での自分の位置がひと目で分かります。

偏差値まで求めたテスト結果の完成表
上の画像が完成形です。点数の右に「偏差値」の列が並び、下の集計エリアに平均・分散・標準偏差がまとまっています。

なお、STDEV.SとSTDEV.Pの使い分けや、計算がうまくいかないときの対処法(トラブルシュート)、VBAで一括計算する方法もあわせてご紹介します。
早速実装して試してみましょう!

STEP1. テスト結果の表を用意する

まずは標準偏差を求めたいテスト結果の表を用意します。
1行目が見出しで、A列が氏名、B列がクラス、C列が点数です。
データは10件あります。
この点数をもとに、平均や標準偏差、偏差値を計算していきましょう。
標準偏差を求める前のテスト結果の表

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。

氏名 クラス 点数 偏差値
佐藤 A 82
鈴木 A 75
高橋 B 91
田中 A 68
伊藤 B 55
渡辺 A 88
山本 B 73
中村 A 95
小林 B 62
加藤 B 79

※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。

STEP2. まずは平均点を求める(AVERAGE)

標準偏差や偏差値を出すには、まず平均点が必要です。
表の下のA13セルに「集計結果(標準偏差と偏差値)」と入力します。
続いてA14セルに「平均点」、C14セルに =AVERAGE(C2:C11) と入力します。
点数が10件なので、合計を10で割った平均が出ます。
実際の入力画面がこちらです。
AVERAGE関数の入力画面

STEP3. 分散を求める(VAR.S)

次に、ばらつきの大きさを表す「分散」を求めます。
A15セルに「分散(標本)」、C15セルに =VAR.S(C2:C11) と入力します。
分散は「各データと平均との差を2乗したものの平均」で、標準偏差の2乗にあたります。
標本の分散は件数から1を引いた数で割るので、Excelでは VAR.S を使います。
実際の入力画面がこちらです。
VAR.S関数の入力画面

STEP4. 標準偏差を求める(STDEV.S)

分散の平方根(ルート)をとったものが「標準偏差」です。
A16セルに「標準偏差(標本)」、C16セルに =STDEV.S(C2:C11) と入力します。
標準偏差は、点数のばらつきがどれくらい大きいかを表す値です。
値が大きいほど、点数の散らばりが大きいことを意味します。
ここでは標本の標準偏差を求める STDEV.S を使っています。
実際の入力画面がこちらです。
STDEV.S関数の入力画面

STEP5. 偏差値の列を作る

平均と標準偏差が出たら、いよいよ偏差値です。
偏差値は次の式で求められます。
偏差値 =(点数 − 平均)÷ 標準偏差 × 10 + 50
D1セルに「偏差値」と入力し、D2セルに =(C2-$C$14)/$C$16*10+50 と入力します。
平均と標準偏差のセルは、下にコピーしてもずれないように $C$14・$C$16 と絶対参照にします。
あとはD11セルまでコピーすれば、全員の偏差値が一気に求まります。
実際の入力画面がこちらです。
偏差値を求める数式の入力画面

STEP6. 標準化得点を求める(STANDARDIZE)

偏差値のもとになっているのが「標準化得点」です。
標準化得点は、平均から見て標準偏差何個分はなれているかを表します。
A17セルに「標準化得点(佐藤)」、C17セルに =STANDARDIZE(C2,C14,C16) と入力します。
82点の佐藤さんは平均より少し上なので、0.4056 とプラスの値になりました。
この標準化得点を10倍して50を足すと、偏差値になります。
実際の入力画面がこちらです。
STANDARDIZE関数の入力画面

STEP7. 母集団の標準偏差も求める(STDEV.P)

ここまでは「標本」の標準偏差でした。
手元のデータが調べたい対象のすべてである場合は、「母集団」の標準偏差を使います。
A18セルに「分散(母集団)」、C18セルに =VAR.P(C2:C11) と入力します。
A19セルに「標準偏差(母集団)」、C19セルに =STDEV.P(C2:C11) と入力します。
標本は件数から1を引いた数で、母集団は件数そのもので割るため、母集団のほうが少し小さな値になります。
実際の入力画面がこちらです。
STDEV.P関数の入力画面

標準偏差まわりの関数の比較

求めたいものによって使う関数が変わります。
場面に合わせて選べるように、表にまとめました。

求めたいもの 関数 割る数 使いどころ
分散(標本) VAR.S 件数−1 一部のデータから全体のばらつきを推定するとき
分散(母集団) VAR.P 件数 調べたいデータがすべてそろっているとき
標準偏差(標本) STDEV.S 件数−1 テストの点数など、ふつうはこちらを使う
標準偏差(母集団) STDEV.P 件数 全データが確定しているとき
標準化得点 STANDARDIZE − 平均から何標準偏差はなれているかを見るとき
偏差値 計算式 − 標準化得点×10+50で求める
POINT

STDEV.S と STDEV.P の違いは、割る数が「件数−1」か「件数」かという1点だけです。
テストの点数など、手元のデータが全体の一部かもしれないときは STDEV.S を選べば間違いありません。
「全員分のデータが確定している」と言い切れるときだけ STDEV.P にしましょう。

VBAで偏差値をまとめて計算する

決まったテストで毎回偏差値まで出したいなら、VBAにするとボタン1つで計算できます。
Alt+F11でVBAエディターを開き、標準モジュールに次のコードを貼り付けます。

Sub 偏差値計算()
    Dim i As Long, n As Long
    Dim total As Double, mean As Double
    Dim ss As Double, sd As Double
    n = 10
    For i = 2 To 11
        total = total + Cells(i, 3).Value
    Next i
    mean = total / n
    For i = 2 To 11
        ss = ss + (Cells(i, 3).Value - mean) ^ 2
    Next i
    sd = Sqr(ss / (n - 1))
    For i = 2 To 11
        Cells(i, 4).Value = (Cells(i, 3).Value - mean) / sd * 10 + 50
    Next i
End Sub

実行すると、D列に全員の偏差値が一気に入ります。
数式を残したくないときにも便利ですね。

タカヒロ

タカヒロ
VBAだと数式を入れずに、値として偏差値を出せます。
「Cells(i, 3)」の 3 はC列(点数)、「Cells(i, 4)」の 4 はD列(偏差値)という意味です。
データの件数が変わったら、n と For i = 2 To 11 の数値を合わせてくださいね。


VBAで計算した偏差値の一覧

うまくいかないときの対処法(トラブルシュート)

実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。

症状 原因 対処
#DIV/0! になる 数値が1件以下しかない STDEV.S・STDEV.P は2件以上の数値が必要です。点数を2件以上入れる
#VALUE! になる 点数が文字列になっている セルの値が数値か確認し、数値に直してから計算する
偏差値がおかしな値になる 平均・標準偏差のセルを相対参照にしている $C$14・$C$16 のように絶対参照にする
STDEV.S が見つからない 古いExcelには無い関数 同じ意味の STDEV 関数を使う
標本と母集団で値が違う 割る数が違う(件数−1 と 件数) データが一部か全部かで STDEV.S と STDEV.P を選ぶ

関数の説明

今回使った関数の概要です。
どれもばらつきを調べるときによく使う関数なので、違いを押さえておきましょう。

STDEV.S関数(エスティーデブ・ドット・エス)

書式 =STDEV.S(数値1, [数値2], …)
できること 標本の標準偏差を返します。各データと平均との差を2乗して合計し、件数−1で割って平方根をとった値です。
戻り値 標準偏差(数値)
こんなときに 手元のデータが全体の一部で、そこから全体のばらつきを推定したいとき。
注意 数値が2件以上必要です。1件以下だと #DIV/0! になります。
=STDEV.S(C2:C11)

STDEV.P関数

書式 =STDEV.P(数値1, [数値2], …)
できること 母集団の標準偏差を返します。割る数が件数そのものになる以外は STDEV.S と同じです。
戻り値 標準偏差(数値)
こんなときに 調べたいデータがすべてそろっていて、推定ではなく実際のばらつきを出したいとき。
注意 STDEV.S より値が少し小さくなります。用途に合わせて選びましょう。
=STDEV.P(C2:C11)

STANDARDIZE関数(スタンダーダイズ)

書式 =STANDARDIZE(x, 平均, 標準偏差)
できること 標準化得点を返します。平均から標準偏差何個分はなれているかを表す値です。
戻り値 標準化得点(数値)
こんなときに 平均やばらつきの違うデータを、同じ基準で比べたいとき。
注意 標準偏差に0を指定すると #DIV/0! になります。この値を10倍して50を足すと偏差値です。
=STANDARDIZE(C2,C14,C16)

VAR.S関数(バリアンス・ドット・エス)

書式 =VAR.S(数値1, [数値2], …)
できること 標本の分散を返します。標準偏差の2乗の値です。
戻り値 分散(数値)
こんなときに ばらつきの大きさを確認したいとき。母集団なら VAR.P を使います。
注意 単位が2乗になっているので、実際のばらつきは STDEV.S で見るほうが分かりやすいです。
=VAR.S(C2:C11)

完成

点数の右に偏差値の列が並び、下の集計エリアに平均・分散・標準偏差がまとまりました。
82点の佐藤さんは偏差値54.1、95点の中村さんは64.2、55点の伊藤さんは33.0になりました。
全員の平均点は76.8なので、偏差値50を基準にすると、それぞれの位置がよく分かります。
思ったとおりに動きましたか?
偏差値まで求めた完成表

さいごに

いかがでしょうか。

今回は、

・Excelで標準偏差と偏差値を求める方法(STDEV.S・STDEV.P・VAR.S・STANDARDIZE・偏差値の計算式)

についてまとめました。

まずは今回のサンプル表で、ぜひ一度試してみてください。
手元のデータが一部なら STDEV.S、全部なら STDEV.P と使い分けるのがポイントです。
偏差値まで出せるようになると、テスト結果の分析がぐっとラクになりますよ。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。

ぜひ試してみてください。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image