「広告費と売上の関係をデータで示したいけど、相関係数とは別の指標もあるのかな?」
2つのデータの関連性を調べたいとき、相関係数だけでは見えない情報があります。データの「動きの大きさ」まで含めた関連性を数値にしたい場面です。
そんなときに使えるのが COVAR関数 です。基本の書き方から共分散の読み取り方、相関係数との違い、実務での活用例まで解説します。
COVAR関数とは?2つのデータの共分散を求める関数
COVAR関数(読み方: コバリアンス関数)は、2つのデータセットの共分散を返す統計関数です。「COVAR」は「Covariance(共分散)」の略になります。
共分散とは、2つのデータがどの方向にどれくらい一緒に動くかを表す指標です。
- 正の値: 一方が増えるともう一方も増える傾向(同じ方向に動く)
- 負の値: 一方が増えるともう一方は減る傾向(逆方向に動く)
- 0に近い: 2つのデータに関連性がほぼない
身近な例でいうと、「気温が上がるとアイスの売上も上がる」なら正の共分散です。逆に「気温が上がると鍋の売上は下がる」なら負の共分散になります。
COVAR関数にできることをまとめると、次のとおりです。
- 2つのデータ間の共分散を数値で求める
- データが同じ方向に動くか逆方向に動くかを判定する
- 複数の要因を比較して、動きの大きさごとに影響度を評価する
- 2026-03-21-spreadsheet-correl-function“>CORREL関数や2026-03-21-spreadsheet-stdev-function“>STDEV関数と組み合わせてデータ分析の幅を広げる
NOTE
COVAR関数はGoogleスプレッドシートの全バージョンで使えます。ExcelのCOVARIANCE.P関数と同じ計算を行います。
COVAR関数の書き方(構文と引数)
基本構文
=COVAR(データ_y, データ_x)
カッコの中に、共分散を調べたい2つのデータ範囲を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| データ_y | 必須 | 比較したいデータ範囲の1つ目(例: 売上データ) |
| データ_x | 必須 | 比較したいデータ範囲の2つ目(例: 広告費データ) |
引数はたった2つだけなのでシンプルですよね。注意点として、データ_yとデータ_xのデータ数は同じにする必要があります。データ数が異なると #N/A エラーが出ます。
TIP
範囲内の文字列・TRUE/FALSE・空白セルは自動的に無視されます。ただし、一方が数値で他方が空白というペアがあると、そのペアごと計算から除外されます。
COVAR関数の基本的な使い方
実際にCOVAR関数を使ってみましょう。
あるお店で6か月分の「広告費」と「売上」を記録したとします。
| A列(月) | B列(広告費・万円) | C列(売上・万円) | |
|---|---|---|---|
| 2行目 | 4月 | 30 | 200 |
| 3行目 | 5月 | 50 | 320 |
| 4行目 | 6月 | 40 | 280 |
| 5行目 | 7月 | 60 | 400 |
| 6行目 | 8月 | 45 | 310 |
| 7行目 | 9月 | 70 | 450 |
共分散を求める
=COVAR(C2:C7, B2:B7)
結果は約 1,341.67 になります。正の値なので、広告費と売上は同じ方向に動くことがわかりますね。
共分散の符号の読み取り方
COVAR関数の結果は相関係数のように-1〜1の範囲に収まりません。データのスケール(単位や大きさ)によって値が変わります。
そのため、共分散では符号(正か負か)で関連の方向を判断します。
| 共分散の符号 | 意味 | 解釈 |
|---|---|---|
| 正の値(0より大きい) | 正の関連 | 一方が増えるともう一方も増える |
| 負の値(0より小さい) | 負の関連 | 一方が増えるともう一方は減る |
| 0に近い | 関連なし | 2つのデータは独立して動く |
WARNING
共分散の値そのものの大小で「関連が強い・弱い」と判断するのは危険です。共分散はデータの単位に依存するため、異なるデータセット間で比較できません。強弱を比較したいときは2026-03-21-spreadsheet-correl-function“>CORREL関数で相関係数を求めてください。
共分散と相関係数の違い
「共分散と相関係数って何が違うの?」と思った方もいるかもしれません。ここで整理しておきましょう。
| 項目 | 共分散(COVAR関数) | 相関係数(CORREL関数) |
|---|---|---|
| 値の範囲 | 制限なし(データのスケールに依存) | -1 〜 1 |
| わかること | 関連の「方向」と「規模」 | 関連の「方向」と「強さ」 |
| データ間の比較 | 単位が異なると比較できない | 正規化されているため比較可能 |
| 計算式 | Σ((xi – x平均)(yi – y平均)) / n | 共分散 / (xの標準偏差 x yの標準偏差) |
| 主な用途 | ポートフォリオ分析、データの方向確認 | 2つのデータの関連度を測定 |
実は、相関係数は共分散を標準偏差で割って正規化したものです。COVAR関数とCORREL関数は次の関係式で結ばれています。
CORREL(y, x) = COVAR(y, x) / (STDEVP(y) * STDEVP(x))
「方向だけ知りたい」ならCOVAR関数、「強さまで比較したい」なら2026-03-21-spreadsheet-correl-function“>CORREL関数を使い分けましょう。
COVAR関数の実践的な使い方・応用例
複数商品の売上関連を比較する
複数の商品を扱っている場合、「商品Aと商品Bの売上は連動しているか?」を確認できます。
商品A(D列)・商品B(E列)・商品C(F列)の月次売上データがあるとして、共分散を比べてみましょう。
=COVAR(D2:D13, E2:E13) → 商品AとBの共分散
=COVAR(D2:D13, F2:F13) → 商品AとCの共分散
両方とも正なら「Aが売れるとBもCも売れる傾向」です。片方が負なら「Aが売れるとそちらは売れなくなる傾向」と読み取れます。
ただし、値の大小で「BよりCの方が関連が強い」とは判断できません。強さの比較には2026-03-21-spreadsheet-correl-function“>CORREL関数を使ってくださいね。
ポートフォリオのリスク分析に使う
投資の世界では、共分散はポートフォリオ理論の核となる指標です。2つの資産の共分散がわかれば、組み合わせたときのリスクを計算できます。
たとえば、株式A(G列)と株式B(H列)の月次リターン(収益率)が12か月分あるとします。
=COVAR(G2:G13, H2:H13)
結果が負の共分散なら、AとBは逆方向に動く傾向があります。AとBを組み合わせれば、ポートフォリオ全体のリスクを下げられる可能性がありますよ。
TIP
ポートフォリオの分散を計算する公式には共分散が含まれています。2資産の場合:
wA^2 VarA + wB^2 VarB + 2 wA wB * COVAR(A, B)です。個々の資産のリスク(分散)は2026-03-21-spreadsheet-var-function“>VAR関数で求められます。
STDEVP関数と組み合わせて相関係数を手動計算する
COVAR関数の結果を使って、相関係数を自分で計算することもできます。結果が2026-03-21-spreadsheet-correl-function“>CORREL関数と一致するか確かめてみましょう。
=COVAR(C2:C7, B2:B7) / (STDEVP(C2:C7) * STDEVP(B2:B7))
この式は =CORREL(C2:C7, B2:B7) と同じ結果を返します。共分散・標準偏差・相関係数のつながりが実感できますよね。
よくあるエラーと対処法
#N/Aエラー
COVAR関数で最もよく見るエラーです。
| 原因 | 対策 |
|---|---|
| データ_yとデータ_xの行数が異なる | セル範囲の行数を揃える |
たとえば =COVAR(B2:B13, C2:C10) のように行数がずれていると発生します。データ範囲を確認してください。
#DIV/0!エラー
以下の原因が考えられます。
| 原因 | 対策 |
|---|---|
| 数値データが1つもない | 数値データを2つ以上含む範囲を指定する |
| 有効なデータペアがない | 文字列や空白だけでないか確認する |
範囲内に数値が含まれていない場合、計算に使えるデータがゼロになるため発生します。
#VALUE!エラー
引数に文字列を直接入力すると発生します。
=COVAR("100", "200") → #VALUE!エラー
=COVAR(A1:A5, B1:B5) → 正常に計算される
セル範囲内に文字列がある場合は自動で無視されます。引数として直接文字列を渡した場合にのみ発生するエラーです。
TIP
期待した結果にならないときは、セル範囲に空白や文字列が混ざっていないか確認してください。COVAR関数は対応するペアが両方とも数値のデータだけを使います。
CORREL関数との違い・関連する統計関数
CORREL関数との使い分け
共分散と相関係数は密接に関連していますが、使いどころが異なります。
| 目的 | 使う関数 | 理由 |
|---|---|---|
| 関連の方向(正か負か)を確認したい | COVAR関数 | 符号で方向がわかる |
| 関連の強さを-1〜1で測りたい | 2026-03-21-spreadsheet-correl-function“>CORREL関数 | 正規化されているため比較しやすい |
| 異なるデータセット間で強さを比較したい | 2026-03-21-spreadsheet-correl-function“>CORREL関数 | スケールに依存しない |
| ポートフォリオのリスク計算に使いたい | COVAR関数 | 分散計算の公式に共分散が必要 |
迷ったら、まず2026-03-21-spreadsheet-correl-function“>CORREL関数で相関の強さを確認するのがおすすめです。共分散が必要になるのは、ポートフォリオ分析など数学的な計算に値を使うケースが多いですよ。
関連する統計関数の一覧
| 関数 | 説明 | COVAR関数との関係 |
|---|---|---|
| 2026-03-21-spreadsheet-correl-function“>CORREL関数 | 相関係数を求める | 共分散を標準偏差で正規化した値 |
| 2026-03-26-spreadsheet-pearson-function“>PEARSON関数 | ピアソン相関係数を求める | CORREL関数と同じ結果を返す |
| 2026-03-21-spreadsheet-var-function“>VAR関数 | 標本分散を求める | 1つのデータセット内のばらつき。共分散は2つのデータ間の関連 |
| 2026-03-21-spreadsheet-stdev-function“>STDEV関数 | 標本標準偏差を求める | 共分散を標準偏差で割ると相関係数になる |
| 2026-03-18-spreadsheet-average-function“>AVERAGE関数 | 平均値を求める | 共分散の計算で各データの平均が使われる |
まとめ
COVAR関数は、2つのデータセットの共分散を返す関数です。
この記事のポイント
- 構文は
=COVAR(データ_y, データ_x)で、2つのデータ範囲を指定するだけ - 共分散の符号(正・負・ゼロ付近)で2つのデータの関連の方向がわかる
- 値の大小はデータのスケールに依存するため、異なるデータ間の比較にはCORREL関数を使う
- 相関係数 = 共分散 / (標準偏差 x 標準偏差) という関係がある
- ポートフォリオのリスク分析など、数学的な計算で共分散の値が必要になる場面で活躍する
次のステップ:関連する統計関数
COVAR関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。
- 2026-03-21-spreadsheet-correl-function“>CORREL関数 — 相関の強さを-1〜1で測る
- 2026-03-26-spreadsheet-pearson-function“>PEARSON関数 — CORREL関数と同じ相関係数を返す
- 2026-03-21-spreadsheet-var-function“>VAR関数 — データの分散(ばらつき)を求める
- 2026-03-21-spreadsheet-stdev-function“>STDEV関数 — 標準偏差を求める
- 2026-03-18-spreadsheet-average-function“>AVERAGE関数 — 平均値を求める基本関数
