Getting the values of the points in a trendline

  • Thread starter Thread starter e.alain.levy
  • Start date Start date
E

e.alain.levy

Hi,

Based on a set of data, I've created a line pivot chart in Excel. I
have added a trendline, wich works perfectly! So, why this question?

Is it possible to get the specific values of a certain point on the
trendline? For example:


Pivot table:

[AverageUse]
Month Percentage
1 10,1234%
2 12,4678%
3 9,4373%

Now I've create a pivot chart (that's a bit difficult to reproduce with
ASCII-art;) and added a trendline, now I would like to see my pivot
table like this:

[AverageUse]
Month Percentage TrendlinePercentage
1 10,1234% 9%
2 12,4678% 13%
3 9,4373% 9%


Wich excel-guru has some briliant ideas?

Thanks in advance,

Best Regards,

Alain
 
Unfortunately (as far as I know) Excel does not give you easy access to the
trendline formula or its coefficients. You can, of course, calculate these
yourself but since we know Excel has calculated them already (after all, you
can choose to display the formula) it would be nice if the Trendline object
had a .Formula property that could be used.

But the best solution is to calculate them yourself from the chart's data
series. For info on the formulas there is a handy reference here:
http://j-walk.com/ss/excel/tips/tip101.htm
 
Look into Linest or better still various post by David Braden on the
subject.

If you particularly want to replicate your own trendline's formula you could
try something like this - parses the formula of trendline(1) in series 1 to
a cell formula.

start by selecting a cell offset one to right of the first value you want to
calculate

Sub GetFormula1()
Dim sFormula As String
Dim ser As Series
Dim tLine As Trendline
Dim cht As Chart, sNum As String
Set cht = ActiveSheet.ChartObjects(1).Chart
Set ser = cht.SeriesCollection(1)
If ser.Trendlines.Count = 1 Then
Set tLine = ser.Trendlines(1)
tLine.DisplayEquation = True
If tLine.DisplayEquation Then
sNum = tLine.DataLabel.NumberFormat
tLine.DataLabel.NumberFormat = "0.00000000000000E+00"
sFormula = tLine.DataLabel.Text
tLine.DataLabel.NumberFormat = sNum
sFormula = Application.Substitute(sFormula, _
"y = ", "")
sFormula = Application.Substitute(sFormula, _
"x", "*" & ActiveCell.Offset(0, -1).Address(0, 0) & "^")
sFormula = Application.Substitute(sFormula, _
"^ ", " ")
ActiveCell.Formula = "=" & sFormula
End If
End If
End Sub

In xl2K+ can use Replace iso Application.Substitute

In a long discussion last year it became clear that the formula is useless
without a high degree of precision.

Regards,
Peter T
 
I forgot to also to say this parses a third order polynomial, would need to
adapt for other formulas.

Regards,
Peter T

Peter T said:
Look into Linest or better still various post by David Braden on the
subject.

If you particularly want to replicate your own trendline's formula you could
try something like this - parses the formula of trendline(1) in series 1 to
a cell formula.

start by selecting a cell offset one to right of the first value you want to
calculate

Sub GetFormula1()
Dim sFormula As String
Dim ser As Series
Dim tLine As Trendline
Dim cht As Chart, sNum As String
Set cht = ActiveSheet.ChartObjects(1).Chart
Set ser = cht.SeriesCollection(1)
If ser.Trendlines.Count = 1 Then
Set tLine = ser.Trendlines(1)
tLine.DisplayEquation = True
If tLine.DisplayEquation Then
sNum = tLine.DataLabel.NumberFormat
tLine.DataLabel.NumberFormat = "0.00000000000000E+00"
sFormula = tLine.DataLabel.Text
tLine.DataLabel.NumberFormat = sNum
sFormula = Application.Substitute(sFormula, _
"y = ", "")
sFormula = Application.Substitute(sFormula, _
"x", "*" & ActiveCell.Offset(0, -1).Address(0, 0) & "^")
sFormula = Application.Substitute(sFormula, _
"^ ", " ")
ActiveCell.Formula = "=" & sFormula
End If
End If
End Sub

In xl2K+ can use Replace iso Application.Substitute

In a long discussion last year it became clear that the formula is useless
without a high degree of precision.

Regards,
Peter T


Hi,

Based on a set of data, I've created a line pivot chart in Excel. I
have added a trendline, wich works perfectly! So, why this question?

Is it possible to get the specific values of a certain point on the
trendline? For example:


Pivot table:

[AverageUse]
Month Percentage
1 10,1234%
2 12,4678%
3 9,4373%

Now I've create a pivot chart (that's a bit difficult to reproduce with
ASCII-art;) and added a trendline, now I would like to see my pivot
table like this:

[AverageUse]
Month Percentage TrendlinePercentage
1 10,1234% 9%
2 12,4678% 13%
3 9,4373% 9%


Wich excel-guru has some briliant ideas?

Thanks in advance,

Best Regards,

Alain
 
I forgot to also to say this parses a third order polynomial, would need to
adapt for other formulas.

Regards,
Peter T

Peter T said:
Look into Linest or better still various post by David Braden on the
subject.

If you particularly want to replicate your own trendline's formula you could
try something like this - parses the formula of trendline(1) in series 1 to
a cell formula.

start by selecting a cell offset one to right of the first value you want to
calculate

Sub GetFormula1()
Dim sFormula As String
Dim ser As Series
Dim tLine As Trendline
Dim cht As Chart, sNum As String
Set cht = ActiveSheet.ChartObjects(1).Chart
Set ser = cht.SeriesCollection(1)
If ser.Trendlines.Count = 1 Then
Set tLine = ser.Trendlines(1)
tLine.DisplayEquation = True
If tLine.DisplayEquation Then
sNum = tLine.DataLabel.NumberFormat
tLine.DataLabel.NumberFormat = "0.00000000000000E+00"
sFormula = tLine.DataLabel.Text
tLine.DataLabel.NumberFormat = sNum
sFormula = Application.Substitute(sFormula, _
"y = ", "")
sFormula = Application.Substitute(sFormula, _
"x", "*" & ActiveCell.Offset(0, -1).Address(0, 0) & "^")
sFormula = Application.Substitute(sFormula, _
"^ ", " ")
ActiveCell.Formula = "=" & sFormula
End If
End If
End Sub

In xl2K+ can use Replace iso Application.Substitute

In a long discussion last year it became clear that the formula is useless
without a high degree of precision.

Regards,
Peter T


Hi,

Based on a set of data, I've created a line pivot chart in Excel. I
have added a trendline, wich works perfectly! So, why this question?

Is it possible to get the specific values of a certain point on the
trendline? For example:


Pivot table:

[AverageUse]
Month Percentage
1 10,1234%
2 12,4678%
3 9,4373%

Now I've create a pivot chart (that's a bit difficult to reproduce with
ASCII-art;) and added a trendline, now I would like to see my pivot
table like this:

[AverageUse]
Month Percentage TrendlinePercentage
1 10,1234% 9%
2 12,4678% 13%
3 9,4373% 9%


Wich excel-guru has some briliant ideas?

Thanks in advance,

Best Regards,

Alain
 
I forgot to also to say this parses a third order polynomial, would need to
adapt for other formulas.

Regards,
Peter T

Peter T said:
Look into Linest or better still various post by David Braden on the
subject.

If you particularly want to replicate your own trendline's formula you could
try something like this - parses the formula of trendline(1) in series 1 to
a cell formula.

start by selecting a cell offset one to right of the first value you want to
calculate

Sub GetFormula1()
Dim sFormula As String
Dim ser As Series
Dim tLine As Trendline
Dim cht As Chart, sNum As String
Set cht = ActiveSheet.ChartObjects(1).Chart
Set ser = cht.SeriesCollection(1)
If ser.Trendlines.Count = 1 Then
Set tLine = ser.Trendlines(1)
tLine.DisplayEquation = True
If tLine.DisplayEquation Then
sNum = tLine.DataLabel.NumberFormat
tLine.DataLabel.NumberFormat = "0.00000000000000E+00"
sFormula = tLine.DataLabel.Text
tLine.DataLabel.NumberFormat = sNum
sFormula = Application.Substitute(sFormula, _
"y = ", "")
sFormula = Application.Substitute(sFormula, _
"x", "*" & ActiveCell.Offset(0, -1).Address(0, 0) & "^")
sFormula = Application.Substitute(sFormula, _
"^ ", " ")
ActiveCell.Formula = "=" & sFormula
End If
End If
End Sub

In xl2K+ can use Replace iso Application.Substitute

In a long discussion last year it became clear that the formula is useless
without a high degree of precision.

Regards,
Peter T


Hi,

Based on a set of data, I've created a line pivot chart in Excel. I
have added a trendline, wich works perfectly! So, why this question?

Is it possible to get the specific values of a certain point on the
trendline? For example:


Pivot table:

[AverageUse]
Month Percentage
1 10,1234%
2 12,4678%
3 9,4373%

Now I've create a pivot chart (that's a bit difficult to reproduce with
ASCII-art;) and added a trendline, now I would like to see my pivot
table like this:

[AverageUse]
Month Percentage TrendlinePercentage
1 10,1234% 9%
2 12,4678% 13%
3 9,4373% 9%


Wich excel-guru has some briliant ideas?

Thanks in advance,

Best Regards,

Alain
 
Tushar Mehta has enhanced code by David Braden to extract coefficients
directly from a chart trendline
http://groups.google.com/group/microsoft.public.excel.charting/msg/0e...
Note that for the chart trendline, you should format the equation to display
scientific notation with 14 decimal places.

Jerry

K Dales said:
Unfortunately (as far as I know) Excel does not give you easy access to the
trendline formula or its coefficients. You can, of course, calculate these
yourself but since we know Excel has calculated them already (after all, you
can choose to display the formula) it would be nice if the Trendline object
had a .Formula property that could be used.

But the best solution is to calculate them yourself from the chart's data
series. For info on the formulas there is a handy reference here:
http://j-walk.com/ss/excel/tips/tip101.htm
--
- K Dales


Hi,

Based on a set of data, I've created a line pivot chart in Excel. I
have added a trendline, wich works perfectly! So, why this question?

Is it possible to get the specific values of a certain point on the
trendline? For example:


Pivot table:

[AverageUse]
Month Percentage
1 10,1234%
2 12,4678%
3 9,4373%

Now I've create a pivot chart (that's a bit difficult to reproduce with
ASCII-art;) and added a trendline, now I would like to see my pivot
table like this:

[AverageUse]
Month Percentage TrendlinePercentage
1 10,1234% 9%
2 12,4678% 13%
3 9,4373% 9%


Wich excel-guru has some briliant ideas?

Thanks in advance,

Best Regards,

Alain
 
Sorry about the triple post. OE, first time a TCP error, sent once again, 3
in total!

Peter T
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top