「全社員のテスト結果がそろっているけど、点数のばらつきをどう数値化すればいいんだろう?」。こんな疑問を感じたことはありませんか?
平均点だけでは、成績が均一なのかバラバラなのかが見えませんよね。全員分のデータがそろっているなら、母集団の分散を正確に求められます。
そんなときに使うのがExcelのVAR.P関数です。この記事では基本の書き方から実務での活用例まで解説します。VAR.S関数(標本分散)との違いや旧VARP関数との互換性もあわせて整理しました。
ExcelのVAR.P関数とは?母集団全体の分散を求める関数
VAR.P関数(読み方: バー・ピー)は、データの母分散(ぼぶんさん)を返す関数です。「VAR」は「Variance(分散)」、「P」は「Population(母集団)」の頭文字です。
分散とは、データが平均値からどれくらい離れているかを数値化した指標です。値が大きいほどデータのばらつきが大きくなります。値が0なら、すべてのデータが同じ値ということです。
身近な例で考えてみましょう。クラス30人全員のテスト結果を手元に持っているとします。この30人分のデータは「全体そのもの=母集団」です。母集団のばらつきをそのまま計算するときに使うのがVAR.P関数です。
VAR.P関数にできることをまとめると、次のとおりです。
- 母集団全体のデータから分散を求める
- クラス全員のテスト結果や全店舗の売上など、全数データの分析に使う
- 複数グループのばらつきを比較する
- AVERAGE関数と組み合わせてデータの散らばり具合を定量化する
NOTE
VAR.P関数はExcel 2010以降で使えます。Microsoft 365、Excel 2013〜2024のすべてのバージョンに対応していますよ。
VAR.P関数の書き方(構文と引数)
基本構文
=VAR.P(数値1, [数値2], ...)
カッコの中に、分散を求めたいデータやセル範囲を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 数値1 | 必須 | 分散を求めたい最初の値またはセル範囲 |
| 数値2, … | 任意 | 追加の値またはセル範囲。最大253個まで指定可能 |
引数にはセル参照、セル範囲、数値を直接指定できます。
TIP
セル範囲に含まれる文字列・論理値(TRUE/FALSE)・空白セルは自動的に無視されます。数値だけが計算の対象になりますよ。
「母集団」の分散とは?nで割る理由
VAR.P関数が返すのは母分散です。考え方はシンプルです。
- 母集団: データが全部そろっている場合(例: クラス30人全員のテスト結果)
- 標本: データの一部だけを取り出した場合(例: 社員500人のうち50人を抜き出して調査)
手元のデータが「全体そのもの」なら、VAR.P関数を使います。計算では「n」(データの個数)で割ります。
VAR.S関数は「n-1」で割って補正をかけますが、VAR.P関数にはその補正が不要です。全数データがそろっているので、推定ではなく正確な分散をそのまま求められるからです。
データが一部しかないなら、VAR.S関数を使います。この違いについては後半の「使い分け」セクションで詳しく説明しますね。
VAR.P関数の基本的な使い方
以下のテストデータでVAR.P関数を使ってみましょう。
クラス10人全員のテスト結果を記録したとします。B2からB11に点数が入っています。
| A列(生徒名) | B列(点数) | |
|---|---|---|
| 2行目 | 田中 | 72 |
| 3行目 | 鈴木 | 85 |
| 4行目 | 佐藤 | 68 |
| 5行目 | 山田 | 91 |
| 6行目 | 伊藤 | 77 |
| 7行目 | 渡辺 | 83 |
| 8行目 | 中村 | 65 |
| 9行目 | 小林 | 88 |
| 10行目 | 加藤 | 79 |
| 11行目 | 吉田 | 92 |
母分散を求める
=VAR.P(B2:B11)
結果は 80.6 です。10人全員の点数が平均値(80点)からどれくらい散らばっているかを表しています。
TIP
分散の値そのものはイメージしにくいかもしれません。分散の平方根を取ると標準偏差になります。
=SQRT(VAR.P(B2:B11))で約 8.98 と求められ、「平均から約9点の散らばり」と直感的に理解できますよ。STDEV.P関数を使っても同じ結果が得られます。
VAR.S関数との結果の違い
同じデータでVAR.S関数を使うと 89.6 になります。VAR.P関数のほうが値がやや小さくなります。
| 関数 | 結果 | 割る数 |
|---|---|---|
| VAR.P | 80.6 | n(10) |
| VAR.S | 89.6 | n-1(9) |
10人はクラス全員なので、この場面ではVAR.P関数が正しい選択です。
VAR.P関数の実践的な使い方・応用例
全店舗の月間売上のばらつきを分析する
「全8店舗の売上に偏りがないか」を確認したい場面です。
全店舗の月間売上がB2からB9に入っているとします。
=VAR.P(B2:B9)
結果の分散が大きければ、好調な店舗と不振な店舗の差が大きいことがわかります。平均値だけでは見えなかった偏りを発見できますよ。
TIP
標準偏差で確認したい場合は STDEV.P関数 を使います。分散 = 標準偏差の2乗なので、
=VAR.P(B2:B9)と=STDEV.P(B2:B9)^2は同じ値を返しますよ。
クラス全員のテスト結果で科目間のばらつきを比較する
「数学と英語、どちらのテストが点数のばらつきが大きいか」を比べたい場面です。
30人全員の数学の点数がC2からC31に、英語の点数がD2からD31に入っているとします。
=VAR.P(C2:C31)
=VAR.P(D2:D31)
| 科目 | 平均 | 分散(VAR.P) |
|---|---|---|
| 数学 | 68.5 | 156.3 |
| 英語 | 71.2 | 42.8 |
平均はほぼ同じでも、数学は分散が大きいですね。数学のほうが得意・不得意の差が大きいとわかります。指導の重点を検討する材料になりますよ。
IF関数と組み合わせて分散の大小を自動判定する
分散が基準値を超えたら「要確認」と表示する仕組みです。
=IF(VAR.P(B2:B9) > 100, "要確認", "正常")
分散が100を超えたら「要確認」、100以下なら「正常」と表示されます。売上分析や品質管理レポートの自動判定に使えますよ。
よくあるエラーと対処法
#DIV/0!エラー
VAR.P関数で見かけるエラーです。以下の原因が考えられます。
| 原因 | 対策 |
|---|---|
| 範囲内に数値が含まれていない | 文字列ばかりの範囲を指定していないか確認する |
| 空のセル範囲を指定している | データが入力されているセル範囲を確認する |
VAR.P関数は数値が1個でも計算できます(結果は0)。VAR.S関数は2個以上必要なので、ここが大きな違いですね。
#VALUE!エラー
引数に文字列を直接入力すると発生します。
=VAR.P("100", "200") → #VALUE!エラー
=VAR.P(100, 200) → 正常に計算される
セル範囲内に文字列がある場合は自動で無視されます。ただし引数として直接文字列を渡すとエラーになるので注意してください。
結果が想定より大きい・小さい
期待した値にならないときは、以下をチェックしてみてください。
- セル範囲に文字列が混ざっていないか(無視されてデータ件数が減る)
- VAR.S関数と間違えていないか(nで割るかn-1で割るかで結果が変わる)
- COUNT関数で数値の個数を確認する
TIP
文字列や論理値も分散の計算に含めたい場合は、VARPA関数を使います。VARPA関数はTRUEを1、FALSEを0、文字列を0として計算に含めますよ。
VAR.S関数やSTDEV関数との違い・使い分け
VAR.P関数とVAR.S関数の違い
VAR.P関数とVAR.S関数は、どちらも分散を求める関数ですが、計算方法が異なります。
| 項目 | VAR.P | VAR.S |
|---|---|---|
| 正式名称 | 母分散 | 標本分散(不偏分散) |
| 割る数 | n | n – 1(不偏推定) |
| 使う場面 | データが全部そろっているとき | データが全体の一部のとき |
| 結果 | やや小さくなる | やや大きくなる |
| 数値1個での動作 | 0を返す | #DIV/0!エラー |
どちらを使えばいいか迷ったら
以下の基準で判断してみてください。
- VAR.P関数を使う場面: クラス全員のテスト結果、全社員の売上データ、全店舗の月間売上
- VAR.S関数を使う場面: アンケート結果、サンプル検査、一部の顧客データの分析、抜き取り検査
判断のポイントは「手元のデータが対象の全数かどうか」です。
- 全社員500人のうち50人だけ調査した → VAR.S
- 全店舗10店のデータを10店分持っている → VAR.P
NOTE
データ件数が30を超えると、VAR.P関数とVAR.S関数の差はほとんどなくなります。迷ったらVAR.S関数を選んでおけば安全ですよ。
分散と標準偏差の関係(4関数の使い分け)
分散と標準偏差は密接に関係しています。標準偏差は分散の平方根です。4つの関数を整理すると次のとおりです。
「ばらつきを元の単位で知りたい」ならSTDEV系、「分散そのものが必要」ならVAR系を選びます。たとえば売上データ(万円)なら、標準偏差は「万円」、分散は「万円の2乗」が単位です。実務で直感的にわかりやすいのは標準偏差ですが、統計的な検定では分散を直接使うこともありますよ。
旧VARP関数との互換性
VAR.P関数はExcel 2010で導入された「新しい名前」の関数です。旧VARP関数と計算結果はまったく同じです。
| 項目 | VAR.P | VARP(旧) |
|---|---|---|
| 導入バージョン | Excel 2010 | Excel 2003以前 |
| 計算結果 | 同一 | 同一 |
| 今後のサポート | 推奨 | 互換性のために残存 |
Microsoftは新しい関数名(VAR.P / VAR.S)の使用を推奨しています。新規で数式を作るときはVAR.P関数を使いましょう。
TIP
旧VARP関数で作られたブックをVAR.Pに書き換える必要はありません。結果は変わらないので、そのまま使い続けて大丈夫ですよ。
関連関数の一覧
| 関数 | 説明 | 計算方法 |
|---|---|---|
| VAR.P | 母分散(数値のみ) | nで割る |
| VAR.S | 標本分散(数値のみ) | n-1で割る |
| VARP | VAR.Pの旧名称 | nで割る |
| VAR | VAR.Sの旧名称 | n-1で割る |
| VARPA | 母分散(文字列・論理値も含む) | nで割る |
| STDEV.P | 母標準偏差 | nで割る |
| STDEV.S | 標本標準偏差 | n-1で割る |
| AVERAGE | 平均値を求める | — |
まとめ
ExcelのVAR.P関数は、母集団全体のデータから分散を返す関数です。
この記事のポイント
- 構文は
=VAR.P(数値1, [数値2], ...)で、セル範囲を指定するだけ - 分散はデータのばらつきを数値化した指標。値が大きいほどばらつきが大きい
- データが「全部そろっている」→ VAR.P関数、「全体の一部」→ VAR.S関数
- nで割るのは、母集団全体のデータなので推定補正が不要だから
- 旧VARP関数と計算結果は同じ。新規で作るならVAR.Pを使う
関連記事
VAR.P関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。
