てもとツール
ガイド

ExcelのSTDEV.PとSTDEV.Sの違い|使い分けの決め方

STDEV.Pは手元のデータを全部とみなしてnで割り、STDEV.Sは一部とみなしてn−1で割ります。どちらを選ぶかの決め方、件数ごとの差の大きさ、空白・0・文字列で結果が変わる落とし穴をまとめました。

公開読了目安 約6分

この記事の要点

  • STDEV.Pはnで割り、STDEV.Sはn−1で割る
  • データの外に知りたい相手がいるならSTDEV.Sを選ぶ
  • 件数が30を超えると、2つの差は2%に満たない
  • 空白は数に入らず、0は1件として数えられる
  • 文字列として入った数字は、STDEV.Sから黙って外れる
目次

STDEV.P は、選んだデータを「対象の全部」とみなして n で割る関数です。 STDEV.S は「全体から抜き出した一部」とみなして、n−1 で割ります。

迷ったら、そのデータの外に知りたい相手がいるかで決めてください。 外にいるなら STDEV.S、いないなら STDEV.P です。

標準偏差の関数は6つある

Excel で標準偏差を出す関数は、名前の似たものが6つあります。 まず全体を表で並べておきます。

関数割る数範囲の中の文字列・TRUE/FALSE位置づけ
STDEV.Pn無視する全部とみなすとき
STDEV.Sn−1無視する一部とみなすとき
STDEVPn無視するSTDEV.P の旧名
STDEVn−1無視するSTDEV.S の旧名
STDEVPAn文字列と FALSE は 0、TRUE は 1文字も数に入れる
STDEVAn−1文字列と FALSE は 0、TRUE は 1文字も数に入れる

STDEV と STDEVP は、Excel 2010 より前からある古い名前です。 計算の中身は STDEV.S と STDEV.P と同じで、互換のために残されています。

新しく式を書くなら、意味が名前から分かる STDEV.S と STDEV.P を使ってください。 P は母集団(Population)、S は標本(Sample)の頭文字です。

同じ5つの点数で結果を比べる

10 点満点の小テストで、5 人の点が 7・8・6・9・10 だったとします。 2 つの関数に同じ範囲を渡すと、結果は次のとおりです。

式結果
=STDEV.P(A1:A5)1.414
=STDEV.S(A1:A5)1.581

平均は 8 点で、平均からのずれを 2 乗して足すと 10 になります。 STDEV.P はこれを 5 で割り、STDEV.S は 4 で割ってから平方根を取っています。

割る数が小さいぶん、STDEV.S のほうが大きく出ます。 ただし値が全部同じなら、どちらも 0 で差はありません。 計算の4ステップそのものは、標準偏差の求め方の記事で順に追っています。

どちらを使うかは「データの外」で決める

関数を選ぶときは、その数字で何を言いたいかを先に決めます。 手元のデータだけを語るのか、手元のデータを通して外の何かを推し量るのか、です。

場面知りたい相手使う関数
クラス全員の小テストの散らばりを、そのクラスについて報告する手元の全員STDEV.P
今月の毎日の来店数の散らばりを、今月について振り返る手元の全日STDEV.P
作った部品から 10 個抜き取り、全体の寸法のばらつきを見積もる抜き取らなかった部品も含む全体STDEV.S
回答してくれた人の結果から、利用者全体の傾向を見る回答しなかった人も含む全体STDEV.S

授業やレポートで関数や計算方法の指定があれば、指定に従ってください。 統計の課題では、データを標本として扱い STDEV.S を使うよう指示されることもあります。

件数が多いと差はほとんど消える

STDEV.S が STDEV.P の何倍になるかは、データの中身によらず件数だけで決まります。 倍率は「n÷(n−1) の平方根」です(値が全部同じで、どちらも 0 になる場合を除きます)。

件数 nSTDEV.S ÷ STDEV.P差
21.414 倍41.4%
31.225 倍22.5%
51.118 倍11.8%
101.054 倍5.4%
301.017 倍1.7%
1001.005 倍0.5%

5 件なら 1 割以上違うので、どちらを使ったかで結論が変わることがあります。 30 件を超えると差は 2% に届かず、どちらを選んでも読み取りはほぼ同じです。

関数選びで本当に気をつけたいのは、件数が少ないときです。 数人ぶんの点数や、数回だけの測定では、選んだ関数を結果と一緒に書いておきましょう。

空白・0・文字列で結果が変わる落とし穴

関数の選び方より大きく結果を動かすのが、範囲の中に何が入っているかです。 先ほどの 5 人に、テストを受けなかった 6 人目を足して確かめます。

空白のセルは数に入らない

6 人目のセルを空白にすると、STDEV.S は 5 人ぶんとして計算します。 結果は 1.581 のまま変わりません。

0 を入れると 1 人として数える

6 人目に 0 を入れると、0 点を取った 1 人として扱われます。 平均は約 6.67 点に下がり、STDEV.S は 3.559 まで跳ね上がります。

受けていない人を 0 で埋めると、散らばりは 2 倍以上に見えます。 未受験は空白にして、0 点を取った人とは分けて入力してください。

「欠席」と書くと関数で扱いが分かれる

6 人目に「欠席」と文字で書いた場合は、関数によって結果が違います。

  • STDEV.S と STDEV.P は文字列を無視するので、空白と同じ結果になる
  • STDEVA と STDEVPA は文字列を 0 として数えるので、0 を入れた結果と同じになる

STDEVA を使うと「欠席」が 0 点として計算に入ります。 文字で印を付けた表では、A の付かない関数を選んでください。

A を付けるかどうかは、文字列を数えるかどうかだけを決めます。 P と S のどちらにするかは、前の「データの外」の決め方のままです。

文字列として入った数字は黙って外れる

見た目は数字でも、セルの中身が文字列になっていることがあります。 左寄せで表示される数字や、左上に緑の三角が付いたセルがそれです。

CSV を貼り付けたときや、数字の前に ' を付けて入力したときに起こりがちです。 STDEV.S はこのセルを無視するので、エラーも出ないまま件数が減ります。

1 件だけだと STDEV.S は #DIV/0! になる

STDEV.S は n−1 で割るので、数値が 1 件だけだと 0 で割ることになります。 このとき結果は #DIV/0! です。

STDEV.P は 1 件でも計算でき、結果は 0 になります。 フィルターで絞り込んだあとに急にエラーが出たら、残った件数を確かめてください。

Googleスプレッドシートでも名前は同じ

Googleスプレッドシートにも、同じ名前の6つの関数がそろっています。 割る数の違いも、STDEVA が文字列を 0 として数える点も同じです。

Excel で作った表をスプレッドシートで開いても、式を書き換える必要はありません。 落とし穴も同じなので、件数の確認は COUNT で行ってください。

関数を打たずに両方の値を確かめる

式を書く前に答えの見当をつけたいときや、別の値が出て困ったときの照合に向く方法があります。 列をコピーして平均・標準偏差計算ツールに貼ると、2 つの標準偏差が並んで出ます。 母標準偏差が STDEV.P、不偏標準偏差が STDEV.S と同じ値です。

件数も一緒に出るので、Excel の COUNT と見比べられます。 「欠席」のように数値として読めない値は、何個スキップしたかを知らせます。

関連記事

参考・出典

本記事は上記の公的機関・公式情報源を参考にしています。最新の情報は各リンク先をご確認ください。

あわせて読みたい

同じテーマ・関連ツールの記事です。