Beste Antwort
Die Excel-Trendlinien sind kleinste Quadrate, die zu Ihren Daten passen. Sie können (und sollten) Excel bitten, die Gleichung für die Trendlinie sowie die R-Quadrat-Statistik anzuzeigen (näher an 1, je besser).
Die Power-Trendlinie verwendet eine Gleichung der Form y = a * x ^ b, wobei a und b Konstanten sind, die durch die vom Trendlinienassistenten durchgeführte Regressionsanalyse ermittelt wurden.
Beachten Sie, dass Excel in der Trendliniengleichung nicht genügend Ziffern anzeigt. Wenn Sie versuchen, Punkte mithilfe der ursprünglich angezeigten Gleichung zu berechnen, können Sie fälschlicherweise den Schluss ziehen, dass Excel keine Ahnung hat. Tatsächlich befindet sich der Schuh auf dem anderen Fuß – wie Sie sehen werden, wenn Sie mit der rechten Maustaste auf die Trendliniengleichung klicken, wählen Sie im Popup die Option Trendlinienbeschriftung formatieren… und erhöhen Sie dann die Anzahl der Stellen nach dem Dezimalpunkt im resultierenden Aufgabenbereich.
Antwort
Wie andere bereits erwähnt haben, halte ich VBA in diesem Fall nicht für erforderlich.
Für eine einfache lineare Trendlinie können Sie die bestimmen Wert eines beliebigen Wertes Y basierend auf einem Wert X unter Verwendung der Formeln SLOPE und INTERCEPT. Die Formel würde die Form von
y = mx + b
annehmen, wobei „y“ die abhängige Variable ist, „m“ die Steigung der Linie ist, „x“ die ist unabhängige Variable und „b“ ist der Y-Achsenabschnitt. Angenommen, X-Werte in den Zellen A2: A10, Y-Werte in den Zellen B2: B10 und Ihre gewünschte „X“ -Variable in Zelle C1 würden Sie dies wie folgt eingeben:
= SLOPE (B2: B10, A2: A10) ) * C1 + INTERCEPT (B2: B10, A2: A10)
Ihre Frage zeigt jedoch, dass Sie an einer Trendlinie für den gleitenden Durchschnitt interessiert sind. In diesem Fall können Sie einen bestimmten Datenpunkt berechnen, indem Sie den Durchschnitt der vorherigen „n“ Beobachtungen verwenden, wobei „n“ die Anzahl der Perioden in Ihrem gleitenden Durchschnitt ist.
Zum Beispiel, um a zu berechnen 2-Perioden-gleitender Durchschnitt („n“ = 2), mitteln Sie einfach die letzten beiden Werte. Ein einfaches Beispiel wird unten kopiert.
Wenn Sie VBA verwenden möchten, sollte dieser Code den Trick mit minor ausführen Änderungen nach Belieben. So wie es ist, sollte es funktionieren, um einfach einen Bereich von X / Y-Paaren auszuwählen und das Makro auszuführen. Das Ergebnis ist ein sehr einfaches XY-Streudiagramm, dessen Diagrammtitel das nächste XY-Paar in der Sequenz angibt.
Ich hoffe, dies hilft.
Ben
Sub AddXYScatter()
Dim r As Range
Dim c As Chart
Dim x As Long
Dim s As String
Set r = Selection
If r.Columns.Count 2 Then
MsgBox "Please select your X/Y pairs and try again"
Exit Sub
End If
x = Application.InputBox("Number of Periods?", "Periods?", 2, , , , , 1)
If r.Rows.Count <= x Then
MsgBox "Not enough observations, please select more rows or reduce periods."
Exit Sub
End If
ActiveSheet.Shapes.AddChart(xlXYScatter).Select
Set c = ActiveChart
With c
.SetSourceData Source:=r
.SeriesCollection(1).Trendlines.Add
With .SeriesCollection(1).Trendlines(1)
.Type = xlMovingAvg
.Period = x
End With
.SetElement (msoElementChartTitleAboveChart)
s = "Next X | Y Pair: "
s = s & Format(WorksheetFunction.Average(r.Offset(r.Rows.Count - x, 0).Resize(x, 1)), "0.00")
s = s & " | " & Format(WorksheetFunction.Average(r.Offset(r.Rows.Count - x, 1).Resize(x, 1)), "0.00")
.ChartTitle.Text = s
End With
Set r = Nothing
Set c = Nothing
End Sub