Come spiegare cosa sta facendo Excel Power Trendline


Migliore risposta

Le linee di tendenza Excel sono i minimi quadrati che si adattano ai tuoi dati. Puoi (e dovresti) chiedere a Excel di visualizzare lequazione per la linea di tendenza e la statistica R al quadrato (più vicino a 1 è meglio).

La linea di tendenza Power utilizza unequazione della forma y = a * x ^ b, dove aeb sono costanti trovate dallanalisi di regressione eseguita dalla procedura guidata della linea di tendenza.

Si noti che Excel non visualizza cifre sufficienti nellequazione della linea di tendenza. Se provi a calcolare i punti utilizzando lequazione come visualizzata inizialmente, potresti erroneamente concludere che Excel non ha la più pallida idea. In effetti, la scarpa si trova sullaltro piede, come vedrai quando fai clic con il pulsante destro del mouse sullequazione della linea di tendenza, scegli Formato etichetta linea di tendenza … dal popup, quindi aumenta il numero di cifre dopo il punto decimale nel riquadro attività risultante.

Risposta

Come altri hanno già detto, non penso che VBA sia necessario in questo caso.

Per una linea di tendenza lineare semplice, puoi determinare la valore di qualsiasi valore Y basato su un valore X utilizzando le formule PENDENZA e INTERCETTA. La formula avrebbe la forma di

y = mx + b

dove “y” è la variabile dipendente, “m” è la pendenza della linea, “x” è la variabile indipendente e “b” è lintercetta Y. Supponendo i valori X nelle celle A2: A10, i valori Y nelle celle B2: B10 e la variabile “X” desiderata nella cella C1, dovresti inserirla come:

= PENDENZA (B2: B10, A2: A10 ) * C1 + INTERCEPT (B2: B10, A2: A10)

Tuttavia, la tua domanda indica che sei interessato a una linea di tendenza della media mobile. In questo caso, puoi calcolare un dato punto dati prendendo la media delle precedenti “n” osservazioni, dove “n” è il numero di periodi nella tua media mobile.

Ad esempio, per calcolare un Media mobile a 2 periodi (“n” = 2), semplicemente media gli ultimi due valori. Di seguito viene copiato un semplice esempio.

Se sei impostato sulluso di VBA, questo codice dovrebbe fare il trucco con minor modifiche come meglio credi. Così comè, dovrebbe funzionare semplicemente selezionando un intervallo di coppie X / Y ed eseguendo la macro. Il risultato sarà un grafico XY Scatter molto semplice con il titolo del grafico che indica la prossima coppia XY nella sequenza.

Spero che questo aiuti.

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *