Excel VBA の LINEST 関数

Excel VBA の LINEST 関数

私はデータ値のセットの2次方程式(Y = ax^2 + bx + c)を解こうとしています。Excelの組み込み関数を使用すると

=LINEST(C2533:C2537,B2533:B2537^{1,2}) 

選択したデータに対して次の結果が得られました

3.08414E-09 -0.00041244 7.351136804

しかし、Excel VBA コードで同じことを試しても、回答は相関しません。コードで何を変更すればよいか教えていただけますか?

Set RangeM = ("C2533:C2537")  -->Y axis
Set RangeF = ("B2533:B2537") --> Xaxis
Mpolynomials = Application.WorksheetFunction.LinEst(RangeM, RangeF, True, True)
  • : Mpolynomials(1) : : Variant(1 ~ 2) : Mpolynomials(1,1) : -2.88227749032385E-04 : Variant/Double : Mpolynomials(1,2) : 6.10919130371322 : Variant/Double
  • : Mpolynomials(2) : : バリアント(1から2) : Mpolynomials(2,1) : 2.49037160577299E-06 : バリアント/倍精度 : Mpolynomials(2,2) : 0.050203149944234 : バリアント/倍精度
  • : Mpolynomials(3) : : バリアント(1から2) : Mpolynomials(3,1) : 0.999776086266518 : バリアント/倍精度 : Mpolynomials(3,2) : 9.34516966780855E-03 : バリアント/倍精度
  • : Mpolynomials(4) : : Variant(1 ~ 2) : Mpolynomials(4,1) : 13395.0169654829 : Variant/Double : Mpolynomials(4,2) : 3 : Variant/Double
  • : Mpolynomials(5) : : バリアント(1から2) : Mpolynomials(5,1) : 1.16981624866201 : バリアント/倍精度 : Mpolynomials(5,2) : 2.61996588360387E-04 : バリアント/倍精度

答え1

調べてみると、2次方程式の多項式を得る方法がわかりました。

M多項式 = Application.WorksheetFunction.LinEst(RangeM, Application.Power(RangeF, 配列(1, 2)))

ここでMpolynomialsはバリアントである

関連情報