LINEST-Funktion in Excel vba

5513
NK1

Ich versuche, die 2-Ordnungsgleichung (Y = ax ^ 2 + bx + c) für einen Satz von Datenwerten herauszufinden. Wenn ich die eingebaute Funktion in Excel verwende

=LINEST(C2533:C2537,B2533:B2537^) 

Ich erhalte das folgende Ergebnis für die ausgewählten Daten

3.08414E-09 -0.00041244 7.351136804 

Aber wenn ich dasselbe in Excel VBA-Code versuche, hängen die Antworten nicht zusammen. Kann mir jemand sagen, was die Modifikation im Code sein soll?

Set RangeM = ("C2533:C2537") -->Y axis Set RangeF = ("B2533:B2537") --> Xaxis Mpolynomials = Application.WorksheetFunction.LinEst(RangeM, RangeF, True, True) 
  • : Mpolynome (1):: Variante (1 bis 2): Mpolynome (1,1): -2.88227749032385E-04: Variante / Double: Mpolynome (1,2): 6.10919130371322: Variante / Double
  • : Mpolynome (2):: Variante (1 bis 2): Mpolynome (2,1): 2.49037160577299E-06: Variante / doppelt: Mpolynome (2,2): 0,050203149944234: Variante / doppelt
  • : Mpolynome (3):: Variante (1 bis 2): Mpolynome (3,1): 0,999776086266518: Variante / Double: Mpolynome (3,2): 9.34516966780855E-03: Variante / Double
  • : Mpolynome (4):: Variante (1 bis 2): Mpolynome (4,1): 13395.0169654829: Variante / Double: Mpolynome (4,2): 3: Variante / Double
  • : Mpolynome (5):: Variante (1 bis 2): Mpolynome (5,1): 1,16981624866201: Variante / doppelt: Mpolynome (5,2): 2,61996588360387E-04: Variante / doppelt
1

1 Antwort auf die Frage

1
NK1

I did some browsing and obtained the way to get the polynomials for the second order equation

Mpolynomials = Application.WorksheetFunction.LinEst(RangeM, Application.Power(RangeF, Array(1, 2)))

Here Mpolynomials is a Variant