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