「アンケートの全データを集めたのに、文字列や論理値が混ざっていて母分散がうまく計算できない…」。こんな経験はありませんか?
スプレッドシートのVARP関数は文字列やTRUE/FALSEを無視して計算します。便利ですが、「未回答」や「はい/いいえ」も含めてばらつきを測りたい場面もありますよね。
そんなときに使えるのがVARPA関数です。この記事では基本の書き方からVARP関数との違い、実務での活用例まで解説します。
スプレッドシートのVARPA関数とは?文字列・論理値も含めて母分散を計算
VARPA関数(読み方: バーピーエー関数)は、データの母集団分散(母分散)を返す関数です。「VARPA」は「VARiance Population All」の略で、「A」は「All(すべて)」を意味します。
VARP関数との最大の違いは、文字列やTRUE/FALSEの扱いです。VARP関数はこれらを無視しますが、VARPA関数は数値に変換して計算に含めます。
具体的には、次のルールで変換されます。
- 文字列 → 0として計算
- TRUE → 1として計算
- FALSE → 0として計算
- 空白セル → 無視(VARP関数と同じ)
- 数値 → そのまま計算(VARP関数と同じ)
VARPA関数にできることをまとめると、次のとおりです。
- 文字列や論理値が混ざったデータの母分散を求める
- 「未回答」「該当なし」などの文字データも含めたばらつきを測定する
- TRUE/FALSEの出欠データを数値化して分析する
NOTE
VARPA関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
VARPA関数の書き方(構文と引数)
基本構文
=VARPA(値1, [値2], ...)
カッコの中に、母分散を求めたいデータやセル範囲を指定します。書き方はVARP関数とまったく同じです。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値1 | 必須 | 母分散を求めたい最初の値またはセル範囲 |
| 値2, … | 任意 | 追加の値またはセル範囲。最大255個まで指定可能 |
引数にはセル参照、セル範囲、数値を直接指定できます。
TIP
VARP関数とは異なり、セル範囲内の文字列はすべて0、TRUEは1、FALSEは0として扱われます。空白セルだけが無視される点に注意してください。
母集団分散の計算方法
VARPA関数が返すのは母集団分散(母分散)です。計算では「n」で割ります。
手元のデータが「全員分」や「全件分」そろっているなら母分散(VARPA関数)を使います。データが全体の一部(サンプル)なら標本分散(VARA関数)を使いましょう。
たとえば、クラス全員のテスト結果ならVARPA関数が適しています。抜き取り調査のデータならVARA関数が安全ですよ。
VARPA関数の基本的な使い方
以下のアンケートデータでVARPA関数を使ってみましょう。
B2からB7に6件のデータが入っているとします。
| A列(回答者) | B列(スコア) | |
|---|---|---|
| 2行目 | 回答者1 | 80 |
| 3行目 | 回答者2 | 90 |
| 4行目 | 回答者3 | 未回答 |
| 5行目 | 回答者4 | 70 |
| 6行目 | 回答者5 | TRUE |
| 7行目 | 回答者6 | 85 |
VARP関数とVARPA関数で結果を比べる
まずVARP関数で計算してみます。
=VARP(B2:B7)
VARP関数は文字列(「未回答」)とTRUEを無視します。計算対象は80, 90, 70, 85の4個です。平均は81.25で、母分散は54.69です。
次にVARPA関数で計算します。
=VARPA(B2:B7)
VARPA関数は「未回答」を0、TRUEを1として計算に含めます。計算対象は80, 90, 0, 70, 1, 85の6個です。平均は約54.33で、母分散は約1,485.56です。
VARP関数とVARPA関数で結果が大きく異なりますよね。文字列やTRUEが0や1に変換されて計算に入るためです。この違いを理解しておくことがポイントですよ。
VARPA関数とVARP関数の違い
VARPA関数とVARP関数の違いを表にまとめました。
| データ型 | VARP関数 | VARPA関数 |
|---|---|---|
| 数値 | そのまま計算 | そのまま計算 |
| 文字列(セル内) | 無視する | 0として計算 |
| TRUE(セル内) | 無視する | 1として計算 |
| FALSE(セル内) | 無視する | 0として計算 |
| 空白セル | 無視する | 無視する |
| 文字列(直接入力) | #VALUE!エラー | #VALUE!エラー |
どちらを使うべきか?
ほとんどの場合はVARP関数で十分です。VARPA関数を使うのは、次のようなケースです。
- 文字列の「未回答」や「該当なし」を0として計算に含めたい場合
- TRUE/FALSEの論理値を1/0として母分散に反映させたい場合
- データの「欠損」自体をばらつきの要因として扱いたい場合
TIP
「文字列は無視してほしい」場合はVARP関数、「文字列も含めて計算したい」場合はVARPA関数と覚えておけばOKです。
VARPA関数の実践的な使い方・応用例
アンケートの全件データで回答率を考慮した母分散
社内全員にアンケートを実施したケースを考えてみましょう。全員分のデータがそろっているので、母分散を使います。
B2からB11に10件の満足度スコア(1〜5)が入っており、一部が「未回答」になっているとします。
=VARPA(B2:B11)
VARPA関数なら「未回答」を0として計算に含めます。回答率が低いことによるデータのばらつきも反映されますよ。VARP関数を使うと「未回答」は無視され、回答済みデータだけの母分散になります。
どちらが適切かは分析の目的次第です。「回答した人だけの傾向」を見たいならVARP関数、「未回答も含めた全体像」を見たいならVARPA関数を選んでください。
TRUE/FALSEデータの母分散を求める
出欠データやチェックボックスの結果を分析するケースです。
B2からB11にチーム全員10人分の出席データ(TRUE=出席、FALSE=欠席)が入っているとします。
=VARPA(B2:B11)
VARPA関数はTRUEを1、FALSEを0に変換して母分散を計算します。結果が0に近ければ出欠が安定しています。結果が大きければ出席・欠席がバラバラということですね。
VARP関数でこのデータを計算すると、TRUE/FALSEがすべて無視されて#DIV/0!エラーになります。論理値だけのデータにはVARPA関数を使いましょう。
STDEVPA関数と組み合わせる
分散の値は「元データの2乗」の単位になるため、直感的にわかりにくいです。元データと同じ単位で確認したいなら、母集団の標準偏差を返すSTDEVPA関数を使いましょう。
=STDEVPA(B2:B11)
STDEVPA関数はVARPA関数の平方根を返します。つまり =SQRT(VARPA(B2:B11)) と同じ結果です。
| 関数 | 返す値 | 単位 |
|---|---|---|
| VARPA | 分散(母分散) | 元データの2乗 |
| STDEVPA | 標準偏差(母標準偏差) | 元データと同じ |
TIP
実務でばらつきを報告する場合は、標準偏差(STDEVPA関数)のほうが伝わりやすいですよ。「分散が2,500」と言われてもピンときませんが、「標準偏差が50点」なら直感的にわかりますよね。
VARPA関数でエラーが出るときの対処法
#DIV/0!エラー
VARPA関数で最もよく見るエラーです。
| 原因 | 対策 |
|---|---|
| 数値・文字列・論理値がすべて空 | データが入っているセル範囲を指定する |
| 範囲内がすべて空白セル | 空白以外のデータを含むセル範囲を指定する |
母分散を計算するにはデータが1個以上必要です。空白セルは無視されるため、空白だらけの範囲を指定するとエラーになりますよ。
#VALUE!エラー
引数に文字列を直接入力すると発生します。
=VARPA("テスト", 100) → #VALUE!エラー
=VARPA(A1, 100) → 正常(A1に文字列があれば0として計算)
セル参照で指定すれば文字列は0に変換されます。直接入力はエラーになるので注意してください。
意図しない結果になるケース
VARPA関数は文字列を0として計算するため、意図せず結果が歪むことがあります。
たとえば、100点満点のスコアデータに「未回答」が混ざっていると、0点として計算されます。平均値が下がり、母分散も大きくなってしまいます。
「未回答=0点ではない」場合は、VARP関数を使うか、IFERROR関数でデータを事前に整理しておくのがおすすめです。
関連する統計関数との使い分け
分散・標準偏差関数を2つの軸(標本/母集団 × 文字列の扱い)で整理すると、全体像がすっきりわかります。
| 関数 | 分散/標準偏差 | 標本/母集団 | 文字列の扱い |
|---|---|---|---|
| VAR | 分散 | 標本(n-1) | 無視 |
| VARA | 分散 | 標本(n-1) | 0として計算 |
| VARP | 分散 | 母集団(n) | 無視 |
| VARPA | 分散 | 母集団(n) | 0として計算 |
| STDEV | 標準偏差 | 標本(n-1) | 無視 |
| STDEVA | 標準偏差 | 標本(n-1) | 0として計算 |
| STDEVP | 標準偏差 | 母集団(n) | 無視 |
| STDEVPA | 標準偏差 | 母集団(n) | 0として計算 |
TIP
迷ったら、まず「データは全体?一部?」で標本/母集団を決めましょう。次に「文字列を含めたい?」でA付き/A無しを選べばOKです。
まとめ
VARPA関数は、文字列やTRUE/FALSEを数値に変換して母集団分散(母分散)を計算する関数です。
この記事のポイント
- 構文は
=VARPA(値1, [値2], ...)で、VARP関数と同じ書き方 - 文字列→0、TRUE→1、FALSE→0に変換して計算に含める
- 空白セルだけが無視される(VARP関数は文字列・論理値も無視)
- 「未回答を0として扱いたい」「TRUE/FALSEの母分散を測りたい」ときに使う
- ほとんどの場合はVARP関数で十分。VARPA関数は混在データの分析用
次のステップ:関連する統計関数
VARPA関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。
