Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Function for Logarithmic Trendline

1,168 views
Skip to first unread message

Tushar Mehta

unread,
Jun 6, 2005, 5:04:39 PM6/6/05
to
To use the LINEST function for the coefficients of a log trendline see
Trendline coefficients
http://www.tushar-mehta.com/excel/tips/trendline_coefficients.htm

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions

In article <3DCBA7D5-B1F7-4966...@microsoft.com>,
Art...@discussions.microsoft.com says...
> I have been using the trendline - logarithmic type - on some charts. Although
> the equation in the form
> y = a*ln(x) + b
> can be made visible on the chart, I need a function that will return the a
> and b coefficients.
>
> I can't find such a function. I don't think logest is the same.
>
> Art
>

ArthurJ

unread,
Jun 6, 2005, 6:28:02 PM6/6/05
to
Thank you Tushar. I did look at your reference materials, and learned a lot.
However, I still do not see how to use LINEST to derive the coefficients of a
logarithmic trendline. LINEST is for linear trends only, correct?

Let me clarify my problem. On my chart I have a log trendline that displays
as:
y = 88.28Ln(x) - 38.613. It has a very good fit (r sqared of .97).

I am looking for a function (or some method) of returning the coefficient
values of 88.28 and -38.613 so that I can use them in subsequent calculations.

Thanks,
Art

Mike Middleton

unread,
Jun 6, 2005, 8:09:13 PM6/6/05
to
Art -

Using Excel's notation, the log trendline uses the equation Y = c*Ln(X)+b.

c = SLOPE(Yrange,LN(Xrange))
b = INTERCEPT(Yrange,LN(Xrange))


Tushar's web site shows how to get the same results using =LINEST(y-range,
LN(x-range)).

The LINEST function (multiple X variables) and the Slope & Intercept
functions (single X variable) may be used to fit linear combinations of
variables, in this case, linear combinations of transformed variables. So
they are not really limited to only linear trends.

- Mike
www.mikemiddleton.com

"ArthurJ" <Art...@discussions.microsoft.com> wrote in message
news:6579C73F-DCC9-4236...@microsoft.com...

Jerry W. Lewis

unread,
Jun 7, 2005, 4:30:13 AM6/7/05
to
Instead of LINEST, you could also use
=SLOPE(ydata,LN(xdata))
=INTERCEPT(ydata,LN(xdata))
for a and b. These formulas must also be array entered (Ctrl-Shift-Enter).

Jerry

ArthurJ

unread,
Jun 7, 2005, 9:25:27 AM6/7/05
to
Jerry (or Mike),

Is there an error in SLOPE or INTERCEPT contained in your response? They are
identical ... ?

I have only one independent x-variable.

I need a step by step on this. Here is what I tried: I calculated ln(xdata)
for each record. I then entered the SLOPE formula into one cell below the
table exactly as written below. I then selected that cell and the adjoining
cell to the right, pressed F2, then Ctrl-Shift-Enter. Both cells evaluate to
the same number.

Art

ArthurJ

unread,
Jun 7, 2005, 9:35:01 AM6/7/05
to
Mike,
I tried charting y-range and LN(x-range). It is not linear, but is still log
shaped (concave downward), though not as much as the original chart of
x-range,y-range. It doesn't make sense to me to calculate LINEST on this data
which is not linear. I'm just not getting this yet.
Art

"Mike Middleton" wrote:

> "Tushar's web site shows how to get the same results using =LINEST(y-range,
> LN(x-range))".

Mike Middleton

unread,
Jun 7, 2005, 3:37:57 PM6/7/05
to
Art -

There seem to be at least two things to consider. First, look at your data
(e.g., an XY Scatter plot) and, based partly on what you plan to do with the
results of your analysis, choose an appropriate functional form for a best
fit. Second, use Excel to determine the parameters for the best-fit
function.

From your first post, I thought you were at the second step. Now, it seems
you're back on the first step. So, you could post the data in the body of a
message (if it's not too much) if you want us the "look at the data." And,
describe the context of your analysis (what is it for?).

- Mike

"ArthurJ" <Art...@discussions.microsoft.com> wrote in message

news:A0CEC447-4E6A-44A7...@microsoft.com...

Mike Middleton

unread,
Jun 7, 2005, 3:45:16 PM6/7/05
to
Art -

If your xdata is in A2:A8 and your ydata is in B2:B8, in some other cell
type =SLOPE(B2:B8,LN(A2:A8)) and press Enter.

In another cell, type =INTERCEPT(B2:B8,LN(A2:A8)) and press Enter.

I don't think these functions need to be array-entered.

- Mike
www.mikemiddleton.com

"ArthurJ" <Art...@discussions.microsoft.com> wrote in message

news:21ADCD56-3433-4E09...@microsoft.com...

0 new messages