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

文字を0として分散を求める
手順:F3 に VARPA の式を入れて Enter
F3 に次の式を入力して、Enter キーを押します❶。
=VARPA(C3:C12)C3:C12文字を数えないで分散を出すなら VAR.P を使います。

確認:欠席を0点とした分散は 531

答えは 531 になりました❷。式は、次の順に計算しています。
- 「欠席」を 0 にする
⇒ 10人分の値 - 平均との差の2乗を平均する
⇒ 531
結果は 531 です。山田さんの「欠席」を 0 点として、10人分で計算しています。
=VAR.P(C3:C12) は欠席を数えないので、値が小さくなります(F4)。VAR.P関数との違い
VAR.P関数は「欠席」を無視して、9人分で計算するので 100 です。数えた個数は =COUNTA(C3:C12) で 10、数値の個数は =COUNT(C3:C12) で 9 で、この1人分の違いが結果を大きく変えています(VAR.P関数の使い方)。
▶ この式(F4)を、練習ツールで試す / この式(F5)を、練習ツールで試す / この式(F6)を、練習ツールで試す
分散が大きくなるしくみ
「欠席」を 0 とした平均は 63 で、数値だけの平均 =AVERAGE(C3:C12) の 70 より下がります。そして 0 点は平均から 63 も離れているので、差の2乗が 3969 と、ほかの人よりずっと大きくなります。
| 名前 | 点数(VARPAで使う値) | 平均63との差 | 差の2乗 |
|---|---|---|---|
| 山田 | 欠席(0) | −63 | 3969 |
| 佐藤 | 85 | 22 | 484 |
| 鈴木 | 60 | −3 | 9 |
| 高橋 | 75 | 12 | 144 |
| 田中 | 55 | −8 | 64 |
| 伊藤 | 80 | 17 | 289 |
| 渡辺 | 65 | 2 | 4 |
| 中村 | 70 | 7 | 49 |
| 小林 | 80 | 17 | 289 |
| 加藤 | 60 | −3 | 9 |
| 合計 | 5310 |
合計 5310 を 10人で割ると 531 です。0 点の1人だけで、分散が 100 から 531 に増えたことが分かります。
▶ この式(F7)を、練習ツールで試す / この式(F8)を、練習ツールで試す
TRUE / FALSE の数え方
TRUE は 1、FALSE は 0 として数えるので、1 と 0 の分散で 0.25 です。○×を TRUE/FALSE で記録した表のばらつきを見るときなどに使えます。
標本の分散(VARA)と平方根
同じく文字を 0 として、標本の分散(5310÷9)を求めるのが VARA関数で、590 です(VARA関数の使い方)。また、VARPA関数の平方根 =ROUND(SQRT(VARPA(C3:C12)),2) は 23.04 で、STDEVPA関数の標準偏差と同じです(STDEVPA関数の使い方)。
▶ この式(F9)を、練習ツールで試す / この式(F10)を、練習ツールで試す
VARPA と VAR.P のどちらを使うか
| データの意味 | 使う関数 |
|---|---|
| 「欠席」は0点として扱うルール(未提出は0点など) | VARPA関数 |
| 「欠席」は受けていないので数に入れない | VAR.P関数 |
文字を 0 点とすると、平均もばらつきも大きく変わります。表のルールに合わせて選び、迷ったら両方を並べて確かめるのがおすすめです。
VARPA関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 分散が思ったより大きい | 文字や空文字(””)が 0 として数えられている | COUNTA関数と COUNT関数で個数を比べる。数値だけなら VAR.P関数。 |
| 空のセルが数えられない | 空のセルは VARPA関数でも無視される | 0 として数えたいなら 0 を入力する。 |
| 「#DIV/0!」になる | 範囲に値が1つもない | 値を入れる。IFERROR関数で表示を決める。 |
VARPA関数のよくある質問
数式の結果の「””」(空文字)も 0 になる?
なります。見た目は空でも文字として扱われるので、0 として数えます。空のセルと区別したいときは注意します。
あわせて読みたい:統計の関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)
