全社員アンケートの集計表で、未回答が「欠席」「未記入」といった文字で入力されていて困ったことはありませんか。
ExcelのVAR.P関数を使うと、こうした文字列が自動的に無視されてしまいます。そのため「全社員のばらつきを未回答=0扱いで見たい」ときに、思った結果にならないんですよね。
そんなときに活躍するのがVARPA関数です。文字列やTRUE/FALSEを0や1に変換しながら、母集団全体の分散を一発で計算できます。
この記事ではExcelのVARPA関数について、基本構文からVAR.Pとの結果比較、VAR系5関数の使い分けまで解説します。STDEVPAとの関係(分散と標準偏差)も紹介しますので、全数データの集計やフラグ付きデータの分析に役立ててくださいね。
ExcelのVARPA関数とは?文字列を含むデータの母分散を求める関数
VARPA関数は、文字列やTRUE/FALSEを含むデータから、Excelで母集団全体の分散(母分散)を求められる統計関数です。VAR.P関数が文字列を無視するのに対し、VARPA関数はすべての値を数値に変換して計算に含めます。
「母分散」は母集団全体のばらつきを示す値で、分母にデータ件数nを使って計算されます。標本分散(分母n-1)を返すVARAとは、対象データと分母の両方が異なる関数ですよ。
VARPA関数の読み方と語源
VARPAは「ブイエーアールピーエー」と読みます。名前は「VARiance」(分散)に、母集団を表す「P(Population)」と、文字列・論理値を含める意味の「A(Alphanumeric)」を組み合わせた造語です。
「P」と「A」が同時に付くのはVAR系ではVARPAだけ。STDEV系でも対応関数はSTDEVPAで、こちらも母標準偏差を文字列込みで求める関数です。「PA」がセットになっている関数は「母集団 × 文字列を含める」と覚えておくと整理しやすいですよ。
VARPAが使える場面と使えない場面
VARPAが向いているのは、全社員・全部署など全数データに文字列やTRUE/FALSEが混ざったケースです。これらを0や1として母分散の計算に含めたいときに活躍します。全社アンケートの未回答を0点扱いにしたいときや、全社員の出欠フラグでばらつきを見たいときに使えますよ。
逆に、文字列や未回答を「除外して数値のみで母分散を出したい」場合はVAR.Pが適切です。また、対象データが「全数」ではなく「サンプル抽出」の場合は、標本分散を返すVARAやVAR.Sを選んでくださいね。
VARPA関数の書き方(構文と引数)
ここからは、ExcelのVARPA関数の構文を具体的に見ていきましょう。引数は最大255個まで指定できます。
基本構文
=VARPA(値1, [値2], ...)
英語版での構文は以下のとおりです。
=VARPA(value1, [value2], ...)
引数の説明
| 引数 | 必須 | 説明 |
|---|---|---|
| 値1 | 必須 | 母分散を求めたい最初のデータ。セル範囲または単一の値を指定します |
| 値2以降 | 任意 | 2つ目以降のデータ。カンマ区切りで最大254個まで追加可能です |
引数に渡せるデータは、数値・セル参照・範囲・配列定数など幅広く対応しています。合計で最大255個の引数を受け取れます。
値の変換ルールは以下のとおりです。このルールがVARPAの最大の特徴ですよ。
| 値の種類 | VARPAでの扱い |
|---|---|
| 数値 | そのまま使用 |
| TRUE | 1に変換 |
| FALSE | 0に変換 |
| 文字列(セル参照経由) | 0に変換 |
| 空白セル | 無視(計算に含めない) |
| 数値型テキスト | 0に変換(文字列として扱う) |
対応バージョン
VARPA関数はExcel 97以降の古い関数で、現行のバージョンすべてで使えます。
- Excel for Microsoft 365
- Excel 2024
- Excel 2021
- Excel 2019
- Excel 2016
- Excel for the web
Excel 2010でVAR.Pが導入された後も、VARPAは新命名ルール(ドット付き)に置き換わることなく残っています。「VAR.PA」のようなドット付きの新名称は存在しません。
VARPA関数の基本的な使い方
ここでは、VARPA関数の動きを3パターンのサンプルデータで確認していきます。VAR.Pとの結果比較も載せますので、違いをイメージしやすいはずですよ。
数値のみのデータで使う場合
まずは文字列を含まない、シンプルな数値データで試してみましょう。
A1: 80
A2: 70
A3: 90
A4: 60
A5: 100
このデータでVARPAとVAR.Pをそれぞれ計算します。
=VARPA(A1:A5) → 200
=VAR.P(A1:A5) → 200
数値のみのデータでは、両者の結果は完全に一致します。VARPAもVAR.Pも「偏差二乗和をnで割る」という同じ母分散の計算式を使っているからです。
補足すると、計算過程はこうなります。平均 = (80+70+90+60+100)÷5 = 80、偏差二乗和 = 0+100+100+400+400 = 1000、母分散 = 1000÷5 = 200 です。
文字列が混ざるデータで使う場合(VAR.Pとの結果比較)
次に、アンケートの未回答を「欠席」という文字列で記録したデータを見てみましょう。
A1: 80
A2: 70
A3: 欠席
A4: 60
A5: 100
同じデータでVARPAとVAR.Pを計算すると、結果が大きく異なります。
=VARPA(A1:A5) → 1136
=VAR.P(A1:A5) → 218.75
VARPAでは「欠席」が0に変換され、{80, 70, 0, 60, 100}の5個のデータとして計算されます。平均が62まで下がるので、偏差が大きくなり、母分散も大きくなるんですね。
一方VAR.Pでは「欠席」が無視され、{80, 70, 60, 100}の4個のみで計算されます。平均は77.5で、ばらつきは小さくなります。
この違いは集計方針によって使い分けが必要です。未回答を「0点扱いで全社員のばらつきに含める」ならVARPA、「未回答者は集計から除外する」ならVAR.Pを選びましょう。
TRUE/FALSEが含まれるデータで使う場合
最後に、出欠や合否などTRUE/FALSEのフラグで記録されたデータを見てみます。
A1: TRUE
A2: FALSE
A3: TRUE
A4: TRUE
A5: FALSE
このデータでVARPAを使うと、次の結果になります。
=VARPA(A1:A5) → 0.24
VARPAはTRUE→1、FALSE→0に変換するため、内部的には{1, 0, 1, 1, 0}として扱われます。平均は0.6、母分散は0.24になりますよ。
なお、VAR.PにTRUE/FALSEのみのデータを渡すと、すべて無視されて有効データが0件になります。結果として#DIV/0!エラーが返るので、論理値を扱うなら必ずVARPAを選んでくださいね。
VAR系5関数の比較表と使い分け
Excelには分散を求める関数が5つあります。どれを選べばいいか迷いやすいので、ここで一度整理しておきましょう。
VAR.S / VAR.P / VAR / VARA / VARPAの違い
5つの関数を、対象データ・分母・値の扱い・登場バージョンで比較します。
| 関数 | 対象データ | 分母 | 文字列・論理値 | 登場バージョン |
|---|---|---|---|---|
| VAR.S | 標本(サンプル) | n-1 | 無視 | Excel 2010以降 |
| VAR | 標本(サンプル) | n-1 | 無視 | 旧互換(現在も使用可) |
| VAR.P | 母集団全体 | n | 無視 | Excel 2010以降 |
| VARA | 標本(サンプル) | n-1 | 0または1として含める | Excel 97以降 |
| VARPA | 母集団全体 | n | 0または1として含める | Excel 97以降 |
「標本」とは、調査対象となる全体から一部を取り出したデータのことです。「母集団」とは、調査対象となる全体のデータを指します。
VARPAの位置づけを2軸マトリクスで整理すると、こうなります。「分母」と「文字列扱い」のクロスで、唯一無二の関数だとわかりますよ。
| 文字列を無視 | 文字列を0扱いで含める | |
|---|---|---|
| 標本(n-1) | VAR.S / VAR | VARA |
| 母集団(n) | VAR.P | VARPA |
VARPAとVARAの使い分け(標本 vs 母集団)
VARPAとVARAは、どちらも文字列を0として含める「A系関数」ですが、対象データが異なります。
- VARPA: 母集団全体のデータが揃っている場合(分母n)
- VARA: 母集団から一部を抽出したサンプルの場合(分母n-1)
例えば、社員100人全員のアンケートを集計するならVARPAを選びます。一方、全国1万人のうち500人にだけ調査した場合はVARAが正解です。同じデータで計算しても、VARPAとVARAでは結果が変わります。
{80, 70, 0, 60, 100}(5個のデータ)
=VARPA → 5680÷5 = 1136
=VARA → 5680÷4 = 1420
分母がn(5)かn-1(4)かの違いで、母分散が標本分散より小さくなる関係が見えますよ。
A系関数(VARA・VARPA)を選ぶべき場面
VARAとVARPAは、A系関数の一員です。A系関数は次のような場面で使います。
- 全社アンケートで未回答(「なし」「未記入」などの文字列)を0点扱いにしてばらつきを見たい
- 出欠や合否のTRUE/FALSEフラグで全社員の変動を測りたい
- 商品の在庫で「欠品」と記録されたセルを0扱いで集計したい
逆に、文字列や未回答を除外して純粋な数値のみで計算したいなら、VAR.SやVAR.Pが適切です。データの扱い方針で使い分けてくださいね。
VARPA関数とSTDEVPA関数の関係(分散と標準偏差)
VARPAとSTDEVPAは、同じ「PA」が付く関数の仲間です。返す値が「母分散」か「母標準偏差」かという点だけが異なります。
VARPAは母分散、STDEVPAは母標準偏差
- VARPA: 母分散を返す。偏差二乗和 ÷ n の値
- STDEVPA: 母標準偏差を返す。VARPAの平方根(√VARPA)
標準偏差はデータと同じ単位で解釈できるため、実務では標準偏差を使うことが多いです。一方、分散は計算の中間値として統計処理に使われます。
数値で確認:VARPA = STDEVPA²
同じデータを使って確認してみましょう。
A1:A5 = {80, 70, 90, 60, 100}
=VARPA(A1:A5) → 200
=STDEVPA(A1:A5) → 14.14
=14.14^2 → 199.94(≒200)
VARPA(A1:A5) = STDEVPA(A1:A5)^2 が成り立ちます(端数の関係で厳密には =STDEVPA(A1:A5)^2 で確認すると一致します)。
分散と標準偏差はどちらを使っても情報量は同じです。「点数のばらつき」を直感的に理解したいときは、標準偏差(STDEVPA)の方が便利ですよ。
VARPA関数の実務シナリオ
ここからは、VARPAが活躍する具体的な業務シナリオを2つ紹介します。どちらも「全数データに未回答や論理値が混ざる」ケースです。
全社員アンケートで未回答テキストが混ざるケース
社員10人全員に「総合満足度(100点満点)」を聞いた結果を想定します。10人全員が母集団なので、母分散の計算が適切です。
A2: 80 (社員1)
A3: 70 (社員2)
A4: 欠席 (社員3 未回答)
A5: 60 (社員4)
A6: 100 (社員5)
A7: 未記入 (社員6 未回答)
A8: 90 (社員7)
A9: 75 (社員8)
A10: 85 (社員9)
A11: 95 (社員10)
2人の未回答を「0点扱い」で全社員のばらつきを評価するなら、以下のように書きます。
=VARPA(A2:A11)
この方式は「未回答者も組織の満足度に影響しているはず」と考える場合に使います。一方、未回答者を除外して「回答者のみの母分散」を見たければVAR.Pが適切です。
どちらが正しいという話ではなく、集計方針に合わせて選べるのがポイントですよ。
全社員のTRUE/FALSEフラグデータのばらつき分析
社員5人の1日の出勤状況を、TRUE/FALSEで記録した表を想定します。5人全員が対象なので、母集団としてのばらつきを見ます。
A2: TRUE (社員1 出勤)
A3: TRUE (社員2 出勤)
A4: FALSE (社員3 欠勤)
A5: TRUE (社員4 出勤)
A6: TRUE (社員5 出勤)
出勤率のばらつきを母分散で見たいときは、以下の数式を使います。
=VARPA(A2:A6) → 0.16
VARPAはTRUE→1、FALSE→0に変換してくれるので、フラグ列のばらつきを素直に計算できます。日別に並べた行で同じ式を使えば、日ごとの出勤ばらつきの推移も追えますよ。
VARPAを使う際の注意点とよくある間違い
VARPAを使うときによくハマる落とし穴を整理しておきます。エラーが出る前に目を通しておいてくださいね。
空白セルは無視される(0ではない)
変換ルールで見落としがちなのが、空白セルは「0」ではなく「無視」される点です。
A1: 80
A2: 70
A3: (空白)
A4: 60
A5: 100
このとき、VARPAは空白のA3を無視して、{80, 70, 60, 100}の4個のデータとして計算します。「文字列は0扱い」でも「空白は除外」なんですね。
未回答を0点扱いにしたいなら、空白のままにせず「0」か「欠席」などの文字列を必ず入力しておきましょう。
数値型テキストは0として扱われる
Excelでは、セルの書式が「テキスト」になっていると、見た目が数値でも内部的には文字列として扱われます。これをVARPAに渡すと0に変換されてしまいます。
A1: 80 (標準書式)
A2: 70 (テキスト書式で "70" と入力)
A3: 90
この場合、VARPAはA2を0として計算するため、意図した結果になりません。セルの左上に緑の三角マークが表示されていたら、書式がテキスト型になっている可能性が高いですよ。
対処法は以下の2つです。
- セルを選択し、Ctrl + 1で書式設定を開き「標準」に変更する
- VALUE関数で数値に変換する(例:
=VALUE(A2))
データを外部CSVやWebからコピーしたとき、この状態になりやすいので注意してくださいね。
引数に文字列を直接指定すると#VALUE!エラー
VARPA関数に文字列を引数として直接指定した場合は#VALUE!エラーが出ます。
=VARPA(80, 70, "欠席", 60, 100) → #VALUE!エラー
これは「引数直接指定」と「セル参照経由」で挙動が異なるためです。セル参照経由の文字列は0に変換されますが、数式内に文字列リテラルを直接書くと型不一致でエラーになります。
セル範囲を使えば回避できるので、以下のように書き直しましょう。
=VARPA(A1:A5) → セル範囲指定ならOK
母集団 vs 標本の選択ミス(VAR.S・VARAとの混同)
VARPAは母集団全体(全数データ)を対象にした関数です。一部のサンプルから全体を推定したい場合は、VARPAではなくVARAやVAR.Sを使うべきです。
「全国1万人のうち100人に調査した結果」のばらつきを母分散として計算すると、本来の母集団のばらつきを過小評価してしまいます。データが全数か標本かを必ず確認してから選んでくださいね。
判断に迷ったら、以下の2軸で考えるとシンプルです。
- 対象データは全数か、抽出か → 母集団(VARPA・VAR.P)か標本(VARA・VAR.S)かを選ぶ
- 文字列を含めるか、無視するか → A系(VARPA・VARA)か通常版(VAR.P・VAR.S)かを選ぶ
まとめ
ExcelのVARPA関数は、文字列やTRUE/FALSEを含むデータから、母集団全体の分散を求められる関数です。この記事のポイントを振り返っておきましょう。
- 構文:
=VARPA(値1, [値2], ...)、最大255個の引数 - 変換ルール: 文字列→0、TRUE→1、FALSE→0、空白→無視
- VAR.Pとの違い: VAR.Pは文字列を無視、VARPAは0扱いで含める
- VARAとの違い: VARAは標本(n-1)、VARPAは母集団(n)が対象
- A系関数: AVERAGEA・MAXA・MINA・STDEVA・STDEVPA・VARAと共通の変換ルール
- STDEVPAとの関係: VARPA(母分散)= STDEVPA(母標準偏差)の二乗
- 使う場面: 全社員アンケートで未回答を0点扱いにしたいとき、全数のTRUE/FALSEフラグでばらつきを見たいとき
- よくある間違い: 数値型テキストが0扱いされる、直接指定の文字列は#VALUE!、母集団と標本の選択ミス
集計方針とデータの種類(全数か標本か)に合わせて、VARPAとVAR.P・VARAを使い分けてみてくださいね。「全社員のばらつきを未回答=0扱いで見たい」場面ではVARPAが強い味方になってくれますよ。
VARPA系の他の関数やA系関数もあわせて学んでおくと、統計集計の幅が広がります。以下の関連記事も参考にしてくださいね。
- ExcelのVARA関数: 文字列を含む標本分散を求める姉妹関数
- ExcelのVAR.P関数: 数値のみの母分散を求める正規関数
- ExcelのVAR.S関数: 数値のみの標本分散を求める関数
- ExcelのVAR関数: 旧版の標本分散関数
- スプレッドシートのVARPA関数: Googleスプレッドシート版VARPA
