2025/4/1

エクセルでスピアマンの相関係数の簡単な求め方【コピペ用テンプレートあり】

Thumbnail for エクセルでスピアマンの相関係数の簡単な求め方【コピペ用テンプレートあり】

はじめに

エクセルには、スピアマンの相関係数を算出する専用の関数は存在しません。 そこで、既存の関数を用いて算出する手順を紹介します。

下にサンプルのセルデータがあるので、 コピペですぐに使用できます。

スピアマンの相関係数とは

スピアマンの相関係数は、 順位に基づく相関値 であり、 ピアソンの相関係数のノンパラメトリック版です。 スピアマンの順位相関係数(Spearman's rank correlation coefficient)とも呼ばれます。 2つのデータ間の単調関係を評価できます。

いつ使うのか?

ピアソンの相関係数の使用に必要な仮定を満たさないときに スピアマンの相関係数を使用します。 具体的には以下のような場合です。

  • データが非線形関係を示す場合、または正規分布しない場合
  • データが順序データの場合 (どちらか一方でも)
  • 外れ値が大きい場合

相関係数の意味

データの順位間の関係性の強さとその方向性を示します。 値は-1 ~ 1の範囲で表されます (ピアソンの相関係数と同様)。

  • 1: 完全な正の相関
  • -1: 完全な負の相関
  • 0: 相関なし

エクセルでの算出方法

以下の 全セルをコピー ボタンをクリックし、エクセルの A1 セルに貼り付けると、 G2 セルにスピアマンの相関係数(下記の場合 -0.885714286)が算出されます。

B, C列のデータを書き換えると、 そのデータにあわせて再計算されます。

ABCDEFG
1データ順位スピアマンの相関係数
2ラベルXYX (rank)Y (rank)-0.886
3A36.553
4B4742
5C28.561
6D64.515
7E4.5534
8F5.5426

算出手順

エクセルでスピアマンの相関係数を算出するための手順は2つです。

1. データを順位に変換

RANK.AVG 関数を使用して、各データの順位を算出します。 Xのそれぞれのデータは、Xデータ列の中での順位を、 Yのそれぞれのデータは、Yデータ列の中での順位を算出します。

fxRANK.AVG関数
RANK.AVG ( 数値, 参照, 順序)

参照範囲の中で、数値が何番目に大きいのか(or 小さいのか)ランクを表示する。 同じ数値の場合は、平均値が算出される (例:3位と4位の値が同じ → 2つの3.5位を返す)。

数値
: 必須
A2
評価する数値。
参照
: 必須
A$2:A$6
ランク付けする範囲。
順序
: 任意
1
ランク付け方向を設定する数値。0 : 降順、0以外:昇順。(省略時 0

2. 順位データ同士の相関係数を算出

CORREL 関数を使用して、XとYの順位データ間の相関を算出します。 この値がスピアマンの相関係数となります。

fxCORREL関数
CORREL ( 配列1, 配列2)

配列1配列2のデータ間の相関係数を算出する。

配列1
: 必須
A2:A6
数値配列。
配列2
: 必須
B2:B6
数値配列。