|
おはようございます。
>エクセルマクロでワークシート上のデータから回帰直線の傾きと切片を求めたいと
思っています。
>a = WorksheetFunction.LinEst(Range("A1:A5"), Range("B1:B5"), True, False)
LINESTワークシート関数のヘルプによると、
傾き: INDEX(LINEST(既知の y,既知の x),1)
y切片:INDEX(LINEST(既知の y,既知の x),2)
ということなので、それをそのままVBAで表現すると、
Sub test()
Dim rx As Range, ry As Range
With Application.ActiveSheet
Set rx = Range("B1:B5") 'X
Set ry = Range("A1:A5") 'Y
End With
'INDEX、LINESTともにWorksheetFunctionで使用可能
With Application.WorksheetFunction
MsgBox .Index(.LinEst(ry, rx), 1), vbInformation, "傾き"
MsgBox .Index(.LinEst(ry, rx), 2), vbInformation, "y切片"
End With
Set rx = Nothing: Set ry = Nothing
End Sub
こんな感じです。
|
|