対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016
「excelvba 相関係数」
といった検索でアクセスがありました。
Excel VBAで相関係数を求めるにはどうすればいいのかを探していた方による検索キーワードです。
もちろん、共分散と標準偏差を求めて相関係数を計算してもいいのでしょうが、Excel VBAですから、2つの配列データの相関係数を計算するワークシート関数・CORRELを、
使うのが簡単です。
[スポンサードリンク]
セルに入力されたデータの相関係数を計算するサンプルマクロ
以下のSubプロシージャを実行すると、A1:A3セルに入力されているデータと、B1:B3セルに入力されているデータの相関係数がメッセージボックスに表示されます。
Sub 相関係数を求める1()
MsgBox _
WorksheetFunction.Correl(Range("A1:A3"), Range("B1:B3"))
End Sub
MsgBox _
WorksheetFunction.Correl(Range("A1:A3"), Range("B1:B3"))
End Sub
配列の相関係数を計算するサンプルマクロ
以下のような2つの配列の相関係数も、もちろん求められます。
Sub 相関係数を求める2()
Dim arr1 As Variant, arr2 As Variant arr1 = Array(1, 2, 3)
arr2 = Array(10, 20, 30)
MsgBox _
WorksheetFunction.Correl(arr1, arr2)
End Sub
Dim arr1 As Variant, arr2 As Variant arr1 = Array(1, 2, 3)
arr2 = Array(10, 20, 30)
MsgBox _
WorksheetFunction.Correl(arr1, arr2)
End Sub
[スポンサードリンク]
- Newer:Columnsは256までしか指定できない?
- Older:VBAでピボットテーブルのフィルターを設定する
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » VBAで相関係数を求めたい