Excelでテストの標準偏差や偏差値を求めたいときはないでしょうか。
けど、そんな中で悩むことは、
・STDEV.SとSTDEV.Pのどちらを使えばいいか迷う
・偏差値の計算式が思い出せない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
テストの点数から、平均・分散・標準偏差を計算し、一人ひとりの偏差値まで出せるようにします。
今回は
・点数の表に「偏差値」の列を追加し、下の集計エリアに標準偏差や分散をまとめる
をゴールにします。
偏差値は平均が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で割った平均が出ます。
実際の入力画面がこちらです。

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

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

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

標準偏差まわりの関数の比較
求めたいものによって使う関数が変わります。
場面に合わせて選べるように、表にまとめました。
| 求めたいもの | 関数 | 割る数 | 使いどころ |
|---|---|---|---|
| 分散(標本) | VAR.S | 件数−1 | 一部のデータから全体のばらつきを推定するとき |
| 分散(母集団) | VAR.P | 件数 | 調べたいデータがすべてそろっているとき |
| 標準偏差(標本) | STDEV.S | 件数−1 | テストの点数など、ふつうはこちらを使う |
| 標準偏差(母集団) | STDEV.P | 件数 | 全データが確定しているとき |
| 標準化得点 | STANDARDIZE | − | 平均から何標準偏差はなれているかを見るとき |
| 偏差値 | 計算式 | − | 標準化得点×10+50で求める |
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列に全員の偏差値が一気に入ります。
数式を残したくないときにも便利ですね。
「Cells(i, 3)」の 3 はC列(点数)、「Cells(i, 4)」の 4 はD列(偏差値)という意味です。
データの件数が変わったら、n と For i = 2 To 11 の数値を合わせてくださいね。

うまくいかないときの対処法(トラブルシュート)
実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| #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を基準にすると、それぞれの位置がよく分かります。
思ったとおりに動きましたか?

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







コメントを残す