メインコンテンツへスキップ

Excelで2つの変数間の相関係数を計算するにはどうすればよいですか?

Author: Sun Last Modified: 2025-08-06

通常、相関係数(-1から1の値)を使用して、2つの変数間の線形関係の強さと方向を示します。相関係数は広く使用されている統計量であり、販売と広告費の関係、気温とアイスクリームの売上、またはその他のペアデータの関係を理解するのに役立ちます。Excelでは、組み込み関数や分析ツールなど、相関係数を計算するための複数の簡単な方法があります。

注: 相関係数が+1の場合、完全な正の線形関係を示します。つまり、変数Xが増加すると変数Yも増加し、同様にXが減少するとYも減少します。逆に、-1の値は完全な負の相関を示し、Xが増加するとYが減少し、その逆も同様です。0に近い係数は、変数間にほとんどまたはまったく線形関係がないことを示します。

方法A: CORREL関数を直接使用

方法B: データ分析を適用し、分析結果を出力

方法C: PEARSON関数を代替手段として使用

方法D: VBAコードを使用して複数のペアの相関係数を計算


方法A: CORREL関数を直接使用

2つのデータリストがあり、それぞれが1つの変数を表しているとします。これらの2つの変数間の相関係数をExcelで計算したい場合、この方法は迅速かつ効率的です。

実用的な使用のために、両方のデータ範囲が数値であり、同じ数の観測値を含んでいることを確認してください。例えば、次のようなペアデータがある場合:
sample data

計算結果を表示したい空白セルを選択し、次の数式を入力して、「Enter」キーを押して相関係数を計算します:

=CORREL(A2:A7,B2:B7)
get the correlation coefficient with formula

この数式では、A2:A7とB2:B7は分析したい2つの変数リストを表しています。範囲は同じ長さでなければならず、各ペアは同じ観測に対応している必要があります。

実用的なヒント: CORRELは自動的に空白セルとテキストを無視しますが、2つの列に有効な数値ペアがない場合、#DIV/0! エラーを返します。正確な相関計算のために、データが適切に整列されており、数値ペアが含まれていることを確認してください。

相関係数を計算したら、以下に示すように、関係を視覚的に観察し、さらに相関を解釈するために折れ線グラフを挿入できます:
insert a line chart to view the correlation coefficient

この方法は、2つの小さなデータセット間の迅速な手動チェックや、スプレッドシート内で対話的に作業する場合に最適です。高度な統計出力を必要とせず、即時の結果を求めているユーザーに適しています。

a screenshot of kutools for excel ai

Kutools AIでExcelの魔法を解き放つ

  • スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
  • カスタム数式: ワークフローを合理化するための独自の数式を生成します。
  • VBAコーディング: 簡単にVBAコードを作成し実装します。
  • 数式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
AI搭載ツールでExcelの機能を強化しましょう。今すぐダウンロードして、かつてないほどの効率を体験してください!

方法B: データ分析を適用し、分析結果を出力

複数の変数間の相関を一度に分析する必要がある場合や、より包括的な出力テーブルが必要な場合、Excelの「分析ツールPak」は有用なソリューションを提供します。このアドインは相関行列を生成し、1つのステップで複数の変数を比較できるため、大規模なデータセットや統計レポートを作成する際に価値があります。

1. すでに「データ分析」アドインをデータタブに追加している場合は、ステップ3に進むことができます。それ以外の場合は、 ファイル > オプションを開きます。「Excelオプション」ダイアログで、左ペインから アドイン を選択し、「Excelアドイン」ボックスの横にある 移動 ボタンをクリックします。
click Add-Ins > Go in Excel Options dialog

2. 「アドイン」ダイアログで、「 分析ツールPak」のチェックボックスをオンにして、「 OK」をクリックします。これにより、「データ分析」グループが データ タブに追加されます。
check Analysis ToolPak

3. 次に、「 データ > データ分析」をクリックします。「データ分析」ダイアログで、リストから「 相関 」を選択し、「 OK.
click Data > Data Analysis select Correlation in the dialog

」をクリックします。
4. 相関ダイアログボックスで、以下の設定を行います:
1) データを含む範囲を選択します。
2) データの配置に応じて、「列」または「行」オプションを選択します。
3) データにヘッダーが含まれている場合、「最初の行にラベルがある」オプションをチェックします。
set options in the Correlation dialog

4) 結果を表示する場所を「出力オプション」で指定します。 5. 「 OK
get the analysis result

」をクリックして相関分析テーブルを生成します。相関係数は指定された範囲に表示されます。この方法は、2つ以上の変数間の関係を評価したり、報告目的のサマリーテーブルが必要な場合に適しています。データ分析の出力は簡潔ですが、追加の有意性統計は提供されません。予期しない結果を受け取った場合は、一貫性、空白セル、正しい範囲選択についてデータを再確認してください。


方法C: PEARSON関数を代替手段として使用

CORRELのほかに、ExcelはPEARSON関数も提供しており、これは2つの変数間のピアソン相関係数を計算します。機能的には、PEARSONとCORRELは同じ結果を返します。ただし、PEARSONは元の数学的公式に厳密に従っており、CORRELはExcelの環境に最適化されています。統計理論に慣れている場合や、Excel以外の統計ツールを使用している場合、PEARSONの方が馴染みやすいかもしれません。

たとえば、A2:A7およびB2:B7に2つの数値リストがある場合、次のように相関を計算できます:

1. 結果を表示したいセルを選択し、次の数式を入力します:

=PEARSON(A2:A7,B2:B7)

2Enterキーを押して計算を完了します。追加のデータペアを分析したい場合は、セル範囲を適宜調整するか、数式を他のセルにドラッグします。
ヒント: PEARSONはテキストや論理値を無視するため、両方の範囲が数値のみを含み、同じ長さであることを確認してください。ある列に欠損データがある場合、エラーを避けるために範囲を適切に整列させてください。

PEARSONを使用することは、特に他の統計ソフトウェアから移行するユーザー、または用語の厳密な遵守が求められる学術的な状況で非常に実用的です。典型的なExcelでの使用例では、CORRELとPEARSONは同じ結果を返します。

#DIV/0! エラーが発生した場合は、両方の範囲が同じ長さで、一致しない空白セルや非数値文字が含まれていないことを確認してください。

利点: 使用が簡単で、統計ソフトウェアと一致; 欠点: 多くのユーザーにとってCORRELと大きな違いはない


方法D: VBAコードを使用して複数のペアの相関係数を計算

複数のデータペア(例えば、多くの変数の組み合わせを扱う場合)の相関係数の計算を自動化する必要がある場合、簡単なVBAマクロを書くことは効率的な選択です。この方法は、大規模なデータセットを処理したり、反復的な分析タスクを自動化したい熟練ユーザーに適しています。

1. この方法を使用するには、まず「開発」>「Visual Basic」をクリックしてVBAエディタを開きます。挿入」>「モジュール」に移動し、次のコードをモジュールに貼り付けます:

Sub BatchCalculateCorrelations()
    Dim ws As Worksheet
    Dim rng1 As Range, rng2 As Range
    Dim lastRow As Long
    Dim i As Long
    Dim resultCol As Range
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = ActiveSheet
    Set rng1 = Application.InputBox("Select first variable range (single column)", xTitleId, Type:=8)
    Set rng2 = Application.InputBox("Select second variable range (multiple columns)", xTitleId, Type:=8)
    Set resultCol = Application.InputBox("Select starting cell for output", xTitleId, Type:=8)
    
    If rng1.Rows.Count <> rng2.Rows.Count Then
        MsgBox "The two data ranges must have the same number of rows.", vbCritical, xTitleId
        Exit Sub
    End If
    
    For i = 1 To rng2.Columns.Count
        resultCol.Cells(1, i).Value = "Correlation with " & rng2.Cells(1, i).EntireColumn.Column
        resultCol.Cells(2, i).Value = WorksheetFunction.Correl(rng1, rng2.Columns(i))
    Next i
End Sub

2. コードを挿入した後、VBAエディタを閉じます。ExcelでAlt + F8を押し、BatchCalculateCorrelationsを選択して「実行」をクリックします。次のように選択するよう求められます:

  • 最初の変数範囲(単一の列、例:A2:A7)
  • 2番目の変数範囲(1つまたは複数の列、例:B2:D7)
  • 結果を開始したいセル(例:F2)

このマクロは、最初の変数と2番目の範囲内の各列との相関係数を計算し、選択したセルから水平方向に結果を表示します。

利点: 反復的な計算を自動化し、大規模なデータセットで大幅な時間を節約し、一貫性を確保します。

「2つのデータ範囲は同じ行数でなければなりません」というような問題が発生した場合、すべての選択列が同じ行数を持ち、空白行がないことを確認してください。エラーのトラブルシューティングには、マクロが有効になっていることと範囲が正しく選択されていることを確認してください。

Excelで相関係数を扱う際、適切な方法を選択することは、データ構造と分析ニーズによって異なります。2つの系列間で1回限りの迅速な計算には、CORRELやPEARSONなどの数式が効率的で使いやすいです。複数の変数やサマリーテーブルが必要な場合には、分析ツールPakが非常に実用的です。大規模なデータセットに対して繰り返し分析が必要な場合やカスタムワークフローを望む場合は、時間を節約し、人的ミスを減らすためにVBAで自動化することを検討してください。
常にデータ範囲が整列し、クリーンで、空白セルや非数値セルが含まれないようにして、数式エラーを回避してください。予期しない結果が発生した場合は、選択範囲とデータ型を再確認してください。


関連記事

  • Excelで評価点を割り当てる方法
    例えば、教師が各学生に得点に基づいて評価を割り当てる一般的なタスクがあるとします。例えば、次のような評価基準が定義されているとします:0-59 = F、60-69 = D、70-79 = C、80-89 = B、90-100 = A。詳細は以下をご覧ください。
  • Excelで割引率または価格を計算する
    クリスマスが近づくにつれて、ショッピングモールでは多くのセールプロモーションが行われるでしょう。しかし、異なるアイテムに異なる割引がある場合、異なるアイテムの割引率や価格をどのように計算しますか?

最高のオフィス生産性ツール

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ15ツールセット12 種類のテキストツールテキストの追加特定の文字を削除など)  |  50 種以上のグラフ タイプガントチャートなど)  |  40を超える実用的な 数式誕生日に基づいて年齢を計算する、など)  |  19種の 挿入ツールQRコードの挿入パスから画像の挿入など)  |  12種類の 変換ツール単語に変換する通貨変換など)  |  7つの 結合&分割ツール高度な行のマージセルの分割など)  |  ...さらに多数
お好きな言語でKutoolsを使用できます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上に対応!

Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...


Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます

  • Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
  • 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
  • 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!