エクセルで、「欠席」などの文字を 0 として数に入れて、標準偏差(母集団)を求めるには STDEVPA関数を使います。山田さんが「欠席」の点数表なら、=ROUND(STDEVPA(C3:C12),2) で 23.04 になります。
文字を無視する STDEV.P関数では、同じ表でも 10 です。この記事では、STDEVPA関数の基本、STDEV.P関数との違い、0 点を入れたときと同じになること、分散(VARPA)との関係までを、1つの表で説明します。下の練習ツールで、点数を書き換えて結果の変わり方を試せます。
STDEVPA関数の書き方
範囲の中の文字(「欠席」など)は 0、TRUE は 1、FALSE は 0 として数えます。空のセルは無視されます。
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
STDEVPA関数の使い方|やりたいこと別の式
| やりたいこと | 式(例) | 結果 |
|---|---|---|
| 「欠席」を0とした標準偏差 | =ROUND(STDEVPA(C3:C12),2) | 23.04 |
| 数値だけの標準偏差 | =STDEV.P(C3:C12) | 10 |
| 「欠席」を0とした平均 | =AVERAGEA(C3:C12) | 63 |
| 0 点を入れて STDEV.P | =ROUND(STDEV.P(0,C4:C12),2) | 23.04 |
| VARPA の平方根 | =ROUND(SQRT(VARPA(C3:C12)),2) | 23.04 |
| TRUE と FALSE | =STDEVPA(TRUE,FALSE) | 0.5 |

文字を0として標準偏差を求める
結果は 23.04 です。ROUND関数を付けないと 23.04344… と小数が長く出るので、小数2桁に丸めています(四捨五入する方法(ROUND関数))。
STDEV.P関数との違い
STDEV.P関数は「欠席」を無視するので 10 です。平均も、STDEVPA関数の考え方では =AVERAGEA(C3:C12) で 63、数値だけなら =AVERAGE(C3:C12) で 70 と変わります。
| 数値だけ(9人) | 「欠席」を0点(10人) | |
|---|---|---|
| 平均 | 70 | 63 |
| 標準偏差(母集団) | 10 | 23.04 |
0 点の1人が平均から大きく離れているので、標準偏差は2倍以上になりました(STDEV.P関数の使い方)。
▶ この式(F4)を、練習ツールで試す / この式(F5)を、練習ツールで試す / この式(F6)を、練習ツールで試す
0 点を入れたときと同じ結果になる
山田さんの代わりに 0 を直接入れて STDEV.P関数で計算すると、結果は同じ 23.04 です。STDEVPA関数は「文字を 0 点として入れ直した表」を計算しているのと同じだと分かります。
分散(VARPA)との関係
VARPA関数の分散 531 の平方根も 23.04 です(VARPA関数の使い方)。標本の考え方の STDEVA関数では =ROUND(STDEVA(C3:C12),2) が 24.29 です(STDEVA関数の使い方)。
▶ この式(F8)を、練習ツールで試す / この式(F9)を、練習ツールで試す
TRUE / FALSE の数え方
TRUE は 1、FALSE は 0 として数えるので、1 と 0 の標準偏差で 0.5 です。
STDEVPA関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 標準偏差が思ったより大きい | 文字や空文字(””)が 0 として数えられている | COUNTA関数と COUNT関数で個数を比べる。数値だけなら STDEV.P関数。 |
| 空のセルが数えられない | 空のセルは STDEVPA関数でも無視される | 0 として数えたいなら 0 を入力する。 |
| 小数が長い | 標準偏差は割り切れないことが多い | ROUND関数で丸める。 |
STDEVPA関数のよくある質問
「欠席」を 0 点にしてよい?
成績表で「未提出は 0 点」と決まっているなら STDEVPA関数が合います。受けていない人を除いてばらつきを見たいなら STDEV.P関数を使います。
あわせて読みたい:統計の関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)
