「アンケートの回答データと満足度って、本当に連動しているのかな?」。こんなふうに、手元のサンプルデータから2つの項目の関係性を調べたいと思ったことはありませんか。
平均値だけでは、データが同じ方向に動いているのか逆方向なのかが見えません。標本データの関係性を数値で把握するには、共分散という指標が必要です。
そんなときに使うのがExcelの COVARIANCE.S関数 です。この記事では基本の書き方から実務での活用例まで解説します。COVARIANCE.P関数(母共分散)との違いや、CORREL関数との使い分けもあわせて整理しました。
COVARIANCE.S関数とは?
COVARIANCE.S関数は、2つのデータセットの 標本共分散(ひょうほん きょうぶんさん) を求める関数です。読み方は「コバリアンス エス」です。
共分散とは
共分散は、2つのデータが「一緒に動く傾向があるかどうか」を数値にしたものです。
- 正の値 → 一方が増えると、もう一方も増える傾向(例: 広告費と売上)
- 負の値 → 一方が増えると、もう一方は減る傾向(例: 気温とホットドリンク売上)
- 0に近い → 2つのデータに目立った関係がない
「標本」の共分散とは
COVARIANCE.S関数の末尾の「S」は Sample(標本) を意味します。全数調査ではなく、一部のサンプルから全体の傾向を推定するための関数です。
計算式では合計をデータ数そのもの(n)ではなく n-1 で割ります。統計学ではこの補正によって偏りの少ない推定値(不偏推定量)が得られるとされています。
全データが手元にある場合は COVARIANCE.P関数 を使います。「このデータはサンプルか、全数か」で使い分けてください。
COVARIANCE.S関数の基本的な書き方
基本構文
=COVARIANCE.S(配列1, 配列2)
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 配列1 | 必須 | 数値データが入っているセル範囲(1つ目のデータ) |
| 配列2 | 必須 | 数値データが入っているセル範囲(2つ目のデータ) |
引数はどちらも必須です。2つの範囲に含まれるデータの個数は同じにしてください。個数が違うと#N/Aエラーになります。
空白セルや文字列、論理値(TRUE/FALSE)が含まれている場合は無視されます。数値の0は計算対象になります。
COVARIANCE.S関数の使い方(実践例)
サンプルデータ
ある店舗で6か月分のサンプルとして、広告費と売上のデータを集めたとします。
| A列(広告費・万円) | B列(売上・万円) | |
|---|---|---|
| 1月 | 10 | 120 |
| 2月 | 15 | 150 |
| 3月 | 8 | 100 |
| 4月 | 20 | 200 |
| 5月 | 12 | 140 |
| 6月 | 18 | 180 |
A2:A7に広告費、B2:B7に売上が入っているとします。
=COVARIANCE.S(A2:A7, B2:B7)
結果は 約171.33 という正の値が返ります。正の値なので「広告費が増えると売上も増える傾向がある」と読み取れますね。
NOTE
同じデータで COVARIANCE.P関数 を使うと約142.78になります。COVARIANCE.Sのほうが値が大きいのは、n-1で割る補正が入っているためです。
結果の読み取り方
共分散の結果はデータの単位に依存します。今回は「万円 x 万円」の単位です。そのため、数値の大小だけで関係の強さを比べることは難しいです。
「正か負か」で方向性を確認するのが基本的な使い方です。関係の強さまで知りたい場合は CORREL関数 を使うと便利ですよ。相関係数に変換すれば、-1から1の範囲で統一的に比較できます。
COVARIANCE.S関数の実務活用
活用例1: 気温と来客数の関係を調べる
飲食店で「気温が上がると来客数は増えるか?」を調べたいケースです。手元に1週間分のサンプルデータがあるとします。
| A列(気温・度) | B列(来客数・人) | |
|---|---|---|
| 月曜 | 15 | 80 |
| 火曜 | 20 | 110 |
| 水曜 | 25 | 130 |
| 木曜 | 18 | 95 |
| 金曜 | 28 | 140 |
| 土曜 | 30 | 160 |
=COVARIANCE.S(A2:A7, B2:B7)
結果が正の値なら、気温が高いほど来客が増える傾向です。メニュー構成や仕入れ計画の参考になります。
活用例2: CORREL関数と組み合わせて関係の強さも確認する
共分散で方向性を確認したら、CORREL関数で強さも数値化しましょう。
=COVARIANCE.S(A2:A7, B2:B7) → 方向性(正/負)を確認
=CORREL(A2:A7, B2:B7) → 強さ(-1〜1)を確認
| 相関係数の目安 | 関係の強さ |
|---|---|
| 0.7〜1.0 | 強い正の相関 |
| 0.4〜0.7 | 中程度の正の相関 |
| 0.0〜0.4 | 弱い正の相関 |
| 負の値 | 上記を逆方向に読み替え |
共分散で「正の関係がある」と分かり、相関係数が0.9なら「かなり強く連動している」と判断できます。
COVARIANCE.PやCORRELとの違い・使い分け
共分散関数の比較表
| 関数 | 計算方法 | 用途 | 使用場面 |
|---|---|---|---|
| COVARIANCE.S | n-1で除算 | 標本共分散 | サンプルデータから全体を推定 |
| COVARIANCE.P | nで除算 | 母共分散 | 全データが揃っている場合 |
| COVAR | nで除算 | 母共分散(互換性関数) | COVARIANCE.Pと同じ計算 |
使い分けの判断基準
迷ったときは以下のフローで判断してみてください。
- 全データが手元にある? → Yes: COVARIANCE.P / No: COVARIANCE.S
- 関係の強さも知りたい? → CORREL関数を併用
アンケート調査や一部店舗のサンプルデータを分析するなら、COVARIANCE.Sを選ぶのが統計的に適切です。社員全員のデータなど、母集団すべてが揃っているならCOVARIANCE.Pを使いましょう。
CORREL関数との違い
CORREL関数は共分散を標準偏差で割って -1〜1に正規化 した相関係数を返します。共分散は単位に依存しますが、相関係数は単位に依存しません。
- 共分散(COVARIANCE.S): 2つのデータが同方向か逆方向かを判定
- 相関係数(CORREL): 関係の「強さ」まで数値化
「方向だけ知りたい」ならCOVARIANCE.S、「強さも知りたい」ならCORRELを使うと覚えておくとよいですよ。
よくあるエラーと対処法
エラー一覧
| エラー | 原因 | 対処法 |
|---|---|---|
| #N/A | 配列1と配列2のデータ数が異なる | 2つの範囲の行数を揃える |
| #DIV/0! | 有効な数値データが1個以下 | データが2個以上あるか確認する |
| #VALUE! | 引数にセル範囲以外の不正な値を指定 | セル範囲の指定を見直す |
結果が0になるケース
2つのデータに関連性がまったくない場合、共分散は0に近い値になります。また、片方のデータがすべて同じ値だと計算上0になります。0はエラーではなく「関係がない」という正しい結果です。
文字列や空白が含まれるとき
COVARIANCE.S関数は文字列・論理値・空白セルを自動で無視します。ただし、片方の配列で無視されたセルに対応するもう片方の値も除外されます。想定外のデータ数ずれが起きていないか確認しましょう。
まとめ
この記事では、COVARIANCE.S関数の使い方を解説しました。
- COVARIANCE.S関数はサンプルデータから 標本共分散 を求める関数
- 結果が正なら同方向、負なら逆方向の関係がある
- COVARIANCE.Pは母共分散(全数データ用)、COVARIANCE.Sは標本共分散(サンプル用)
- 関係の強さを知りたいときは CORREL関数 を併用する
