Trendsfunktion in VBA (lineare Regression)
08.01.2008 18:07:02
paul
Ich will den Trendwert einer linearen Regression in VBA abbilden und bin in diesem Forum auch schon auf die Funtion "Application.WorksheetFunction.LinEst" gestoßen:
Allerdings liefert die Funktion nicht den einen Trendwert sondern die Steigung der linearen Regression. Man kann als Argument auch gar nicht den "neuen x-Wert" angeben.
Ich würde sehr ungern die Parameter (Steigung, y-Achsen-Abschnitt) der linearen Funktion manuell ausrechnen um dann mit dem neuen x-Wert einen Trendwert zu berechnen.
Kennt jemand eine VBA-Funktion, die gleich den Trendwert berechnet (geht in Excel doch auch!)?
Mein Beispiel:
x-Werte: Cells(3,7) bis Cells(3,17) z.b: 1,2,3,4
y-Werte: Cells(1,7) bis Cells(1,17) z.b: 12, 26, 30, 62
neuer x-Werte für den Trend Cells(1,18) z.B. 5
Worksheets(Sheet_Daten).Cells(3, 18) = Application.WorksheetFunction.LinEst(Range(Sheets(Sheet_Daten).Cells(3, 7), Sheets(Sheet_Daten).Cells(3, 17)), _
Range(Sheets(Sheet_Daten).Cells(1, 7), Sheets(Sheet_Daten).Cells(1, 17)), True, True)
Syntax ist in etwa:
Worksheets(Zielzelle) = Application.WorksheetFunction.LinEst(x-Werte), (y-Werte), True, True)
Wie gesagt, da fehlt das Argument neuer x-Wert und es leifert nur die Steigung, nicht den neuen Trendwert?
In Excel gibt es die Funktion "=(Trend("x-Werte","y-Werte","neuer x-Wert"), die als Ergebnis den Trendwert liefert.
Als Makro-Auzeichnung sieht das so aus:
Worksheets(Sheet_Daten).Cells(3, 18) = "=TREND(RC[-11]:RC[-1],R[-2]C[-11]:R[-2]C[-1],R[-2]C)
Das kann ich aber nicht verwenden, da ich die Zeilen(x-Werte) später dynamische ansprechen muss.
Hiiiiiiiiiiiiiiiiiiiiiilfe - kann mir jemand weiterhelfen?