ExcelのVARPA関数の使い方|文字列・TRUE/FALSEを含む母分散

スポンサーリンク

全社員アンケートの集計表で、未回答が「欠席」「未記入」といった文字で入力されていて困ったことはありませんか。

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での扱い
数値そのまま使用
TRUE1に変換
FALSE0に変換
文字列(セル参照経由)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-10または1として含めるExcel 97以降
VARPA母集団全体n0または1として含めるExcel 97以降

「標本」とは、調査対象となる全体から一部を取り出したデータのことです。「母集団」とは、調査対象となる全体のデータを指します。

VARPAの位置づけを2軸マトリクスで整理すると、こうなります。「分母」と「文字列扱い」のクロスで、唯一無二の関数だとわかりますよ。

 文字列を無視文字列を0扱いで含める
標本(n-1)VAR.S / VARVARA
母集団(n)VAR.PVARPA

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系関数もあわせて学んでおくと、統計集計の幅が広がります。以下の関連記事も参考にしてくださいね。

タイトルとURLをコピーしました