スプレッドシートのCORREL関数の使い方|相関係数でデータの関連性を数値化

スポンサーリンク

「広告費を増やしたら売上って本当に上がってるの?」「気温とアイスの販売数って関係あるのかな?」

こんなふうに、2つのデータの関連性を数字で確かめたいときってありますよね。なんとなく「関係ありそう」と思っていても、感覚だけで判断するのはちょっと不安です。

そんなときに使えるのがCORREL関数です。この記事では基本の書き方から相関係数の読み取り方、散布図との連携、SLOPE・INTERCEPT関数との関係まで解説します。

CORREL関数とは?ピアソン相関係数を求める関数

CORREL関数(読み方: コリレーション関数)は、2つのデータセットのピアソン相関係数を返す統計関数です。「CORREL」は「Correlation(相関)」の略です。

相関係数とは、2つのデータがどれくらい連動しているかを表す指標です。値は -1から1 の範囲で返されます。

  • 1に近い: 一方が増えるともう一方も増える(正の相関)
  • -1に近い: 一方が増えるともう一方は減る(負の相関)
  • 0に近い: 2つのデータに関連性がほぼない(無相関)

身近な例でいうと、「気温が上がるとアイスの売上も上がる」なら正の相関です。「気温が上がると鍋の売上は下がる」なら負の相関になります。

CORREL関数にできることをまとめると、次のとおりです。

  • 2つのデータ間の相関係数(ピアソン相関係数)を数値で求める
  • 複数の要因を比較して、最も影響が大きいものを特定する
  • 散布図と組み合わせてデータの関連性を視覚化する
  • SLOPE関数INTERCEPT関数と組み合わせて回帰分析に進む

NOTE

CORREL関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。

CORREL関数の書き方(構文と引数)

基本構文

=CORREL(データ_y, データ_x)

カッコの中に、相関を調べたい2つのデータ範囲を指定します。

引数の説明

引数必須/任意説明
データ_y必須比較したいデータ範囲の1つ目(例: 売上データ)
データ_x必須比較したいデータ範囲の2つ目(例: 気温データ)

引数はたった2つだけなのでシンプルですよね。注意点として、データ_yとデータ_xのデータ数は同じにしてください。データ数が異なると #N/A エラーになります。

TIP

範囲内の文字列・TRUE/FALSE・空白セルは自動的に無視されます。ただし、一方が数値で他方が空白というペアがあると、そのペアごと計算から除外されます。

CORREL関数の基本的な使い方

実際にCORREL関数を使ってみましょう。

あるお店で12か月分の「平均気温」と「アイスクリームの売上」を記録したとします。

 A列(月)B列(平均気温)C列(売上)
2行目1月5120
3行目2月6135
4行目3月10180
5行目4月15250
6行目5月20320
7行目6月25410
8行目7月30520
9行目8月32550
10行目9月27430
11行目10月18280
12行目11月12190
13行目12月7140

相関係数を求める

=CORREL(C2:C13, B2:B13)

結果は約 0.99 になります。1にとても近い値なので、気温と売上には強い正の相関があることがわかりますね。

相関係数の読み取り方(強弱の目安表)

CORREL関数の結果が出ても「0.65って強いの?弱いの?」と迷うことがありますよね。以下の目安表を参考にしてください。

相関係数の範囲強さの目安解釈
0.7 〜 1.0強い正の相関一方が増えると、もう一方もかなり増える
0.4 〜 0.7やや正の相関一方が増えると、もう一方も増える傾向
0.2 〜 0.4弱い正の相関わずかに同じ方向に動く傾向
-0.2 〜 0.2ほぼ無相関2つのデータに関連性はほぼない
-0.4 〜 -0.2弱い負の相関わずかに逆方向に動く傾向
-0.7 〜 -0.4やや負の相関一方が増えると、もう一方は減る傾向
-1.0 〜 -0.7強い負の相関一方が増えると、もう一方はかなり減る

ビジネスの現場では 0.4以上(または-0.4以下) であれば「関連がありそうだ」と判断するケースが多いですよ。

WARNING

相関関係は因果関係ではありません。 相関係数が高いからといって「Aが原因でBが起きている」とは限りません。たとえば「アイスの売上」と「水難事故の件数」は強い相関を示します。しかし、アイスが事故を引き起こしているわけではなく、「気温」という第三の要因が両方に影響しています。データ分析の際は、この点を常に意識してくださいね。

CORREL関数の実践的な使い方・応用例

広告費と売上の関係を分析する

マーケティング部門では「広告費を増やしたら売上は増えるのか?」という問いがよく出てきます。

月別の広告費(D列)と売上(E列)があるとして、次の数式で相関を確認できます。

=CORREL(E2:E13, D2:D13)

結果が0.7以上なら、広告投資に効果がある可能性が高いと判断できます。逆に0.2程度なら、広告費以外の要因が売上を左右していることになりますね。

複数の要因を比較して影響度を特定する

売上に影響しそうな要因が複数ある場合、それぞれの相関係数を並べると優先順位が見えてきます。

=CORREL(売上, 気温)      → 0.92
=CORREL(売上, 広告費)    → 0.65
=CORREL(売上, 競合価格)  → -0.31

この結果なら「気温の影響が最も大きく、広告費もそこそこ影響あり、競合価格は弱い逆相関」と読み取れます。施策の優先順位づけに使えますよ。

散布図と組み合わせて視覚化する

CORREL関数で数値を出したら、散布図と組み合わせるとさらにわかりやすくなります。

  1. 2つのデータ列(例: B2:C13)を選択する
  2. 「挿入」メニュー → 「グラフ」を選択する
  3. グラフの種類を「散布図」に変更する
  4. 点の並びが右肩上がりなら正の相関、右肩下がりなら負の相関

散布図上でグラフエディタの「カスタマイズ」→「系列」→「トレンドライン」にチェックを入れると、データの傾向を直線で表示できます。「R2」にもチェックを入れると、相関の強さを視覚的にも確認できますよ。

TIP

R2(決定係数)は相関係数を2乗した値です。CORREL関数の結果が0.9ならR2は0.81になります。「一方のデータで他方の81%を説明できる」と解釈できます。

SLOPE・INTERCEPT関数との関係

CORREL関数で「2つのデータに相関がある」とわかったら、次のステップとして回帰分析に進めます。ここで使うのがSLOPE関数とINTERCEPT関数です。

関数役割求めるもの
CORREL相関の強さを確認する相関係数(-1〜1)
SLOPE回帰直線の傾きを求めるxが1増えたときyがどれだけ変化するか
INTERCEPT回帰直線のy切片を求めるx=0のときのyの値

回帰直線の式は y = SLOPE × x + INTERCEPT です。CORREL関数で相関が強いと確認できれば、この式を使って将来の値を予測できます。

たとえば、先ほどの気温と売上データで回帰直線を求めてみましょう。

=SLOPE(C2:C13, B2:B13)

結果は約 15.5 です。気温が1度上がると売上が約15.5万円増えるという意味です。

=INTERCEPT(C2:C13, B2:B13)

結果は約 47.7 です。気温が0度のとき売上は約47.7万円と推定できます。

この2つを組み合わせれば、「来月の平均気温が22度なら、売上は 15.5 x 22 + 47.7 = 約389万円」と予測できますよね。

TIP

FORECAST関数を使えば、SLOPE・INTERCEPTを個別に求めなくても予測値を直接計算できます。=FORECAST(22, C2:C13, B2:B13) のように書きます。

よくあるエラーと対処法

#N/Aエラー

CORREL関数で最もよく見るエラーです。

原因対策
データ_yとデータ_xの行数が異なるセル範囲の行数を揃える

たとえば =CORREL(B2:B13, C2:C10) のように行数がずれていると発生します。データ範囲を確認してください。

#DIV/0!エラー

以下の原因が考えられます。

原因対策
数値データが1つしかない2つ以上の数値データを指定する
片方のデータがすべて同じ値データにばらつきがあるか確認する

すべて同じ値の場合、標準偏差が0になるため計算できません。

#VALUE!エラー

引数に文字列を直接入力すると発生します。

=CORREL("100", "200")   → #VALUE!エラー
=CORREL(100, 200)        → 正常に計算される(ただしデータ1つなのでエラー)

セル範囲内に文字列がある場合は自動で無視されます。文字列を直接引数として渡した場合にのみ発生するエラーです。

TIP

期待した結果にならないときは、セル範囲に空白や文字列が混ざっていないか確認してください。CORREL関数は対応するペアが両方とも数値のデータだけを使います。COUNT関数で数値の個数を確認するのがおすすめです。

PEARSON関数との違い・関連する統計関数

PEARSON関数との違い

GoogleスプレッドシートにはCORRELとよく似たPEARSON関数があります。

=PEARSON(C2:C13, B2:B13)

実は、CORREL関数とPEARSON関数はまったく同じ計算結果を返します。どちらもピアソンの積率相関係数を計算する関数です。

項目CORRELPEARSON
戻り値ピアソン相関係数ピアソン相関係数
計算結果同じ同じ
名前の由来Correlation(相関)Karl Pearson(統計学者)

どちらを使っても結果は同じなので、チームで統一しておけばOKです。一般的にはCORREL関数のほうが使われる頻度が高いですよ。

関連する統計関数の一覧

関数説明CORREL関数との関係
AVERAGE関数平均値を求める相関分析の前にデータの平均を確認する
STDEV関数標本標準偏差を求めるデータのばらつき具合を確認する
VAR関数標本分散を求める標準偏差の2乗。ばらつきの別指標
SLOPE関数回帰直線の傾き相関確認後の回帰分析に使う
INTERCEPT関数回帰直線のy切片相関確認後の回帰分析に使う
FORECAST関数線形予測値を返す回帰直線を使った将来予測に使う
RSQ関数決定係数(R2)を返す相関係数の2乗。説明力の指標

TIP

CORREL関数の計算式は「共分散 / (データ_yの標準偏差 x データ_xの標準偏差)」です。手動計算も可能ですが、CORREL関数を使えば一発で求められます。

まとめ

CORREL関数は、2つのデータセットのピアソン相関係数を返す関数です。

この記事のポイント

  • 構文は =CORREL(データ_y, データ_x) で、2つのデータ範囲を指定するだけ
  • 戻り値は-1〜1の相関係数。1に近いほど正の相関、-1に近いほど負の相関
  • ビジネスの現場では0.4以上(または-0.4以下)が「関連あり」の目安
  • PEARSON関数とは同じ計算結果を返す
  • SLOPE・INTERCEPT関数と組み合わせれば回帰分析に進める
  • 相関関係は因果関係ではないことを常に意識する

次のステップ:関連する統計関数

CORREL関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。

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