Close Window   
Free Ebook
Get Your Free Excel
Our Top 15 Excel Tutorials
Instant Access!
Subscribe for Free Excel tips & more!

How To Calculate Polynomial Regression Coefficients

Forum Register
Search Excel Forum Posts, Tutorials, Macros, Tips, and More


I wanted to know a way to calculate the polynomial regression coefficients in
excel as chart does. I have seen many help sites but it has not helped one of
it was which was good but did not work for me. I am using 4th
degree polynomial regression. The y and x values are as below.

X values 0.00 0.03 0.07 0.10 0.13 0.17 0.20 0.23 0.26 0.30 0.33
Y values 0.000 0.000 0.000 0.002 0.005 0.012 0.023 0.041 0.069 0.107 0.159

The coefficients from chart obtained are
c4 9.8202
c3 1.4485
c2 -0.1041
c1 0.0057
b 0.0000

I hope somebody can help


Message posted via

View Answers     

Similar Excel Tutorials

Calculate Someone's Age in Excel
How to automatically calculate someone's age using Excel.  This method is simple and will update every year so tha ...
Stop Formula Calculation in Excel - Increase Worksheet Performance
I'll show you how to stop formulas and functions from performing their calculations and updating in Excel. This ma ...
Calculate the Future Value (FV) of Compound Interest in Excel - UDF Macro
This UDF (user defined function) calculates the Future Value of Compound Interest in Excel. The mathematical formu ...
Calculate the Difference Between Time Greater than 24 Hours in Excel
Ill show you how to calculate the difference between two times in Excel when that difference will add up to more t ...

Helpful Excel Macros

Get Values from a Chart
- This macro will pull the values from a chart in excel and list those values on another spreadsheet. This will get the s
Replace Formulas with Values (For The Entire Workbook)
- This macro will convert every formula in an entire workbook into its respective value. This is basically a quick way to
Delete All Chart Sheets in Excel - Only Chart Sheets are Deleted - Not Embedded Charts
- Delete all chart sheets and tabs in Excel using this macro. This will only delete the charts and graphs that are in the
Create a Line Chart with a Macro in Excel
- Create a line chart in Excel with this macro. This allows you to quickly and easily create line charts and graphs from
Create a Column Chart with a Macro in Excel
- This macro adds a column chart to Excel. This is an easy to use macro that allows you to quickly chart and graph a rang

Similar Topics

What I want to do seems simple, but ...

Adding a polynomial trendline to an X-Y scatter chart is easy. How do I get the individual coefficients of that equation that is displayed on the chart into variables. I'm basically trying to fit a sixth-order polynomial to a set of measured data, and want to find the maximum value within a know range. If I know the coefficients of the polynomial regression - it's pretty simple from there.

How do I get the polynomial regression coeffcients automatically?

What I want to do seems simple, but ...

Adding a polynomial trendline to an X-Y scatter chart is easy. How do I get the individual coefficients of that equation that is displayed on the chart into variables. I'm basically trying to fit a sixth-order polynomial to a set of measured data, and want to find the maximum value within a know range. If I know the coefficients of the polynomial regression - it's pretty simple from there.

How do I get the polynomial regression coeffcients automatically?


Can anyone explain how Excel computes the coefficients step by step when carrying out the full regression procedure for several variances (multiple regression).

Please note I said 'multiple regression', that is including several variables in the regression model and not just 2 as in a conventional linear regression (in which case the coeffiecients could simply be calculated as the slopes with the =SlOPE function.



Hi Guys,

I am doing some statistical work with Excel 2007 and have been using the data analysis add-in to do some regression. In terms of a standard linear regression, one can enter the =slope(known y's , known x's) formula to find the regression coefficient for x. My regression is slightly more complicated as it has multiple independent variables (i.e. the y variable is not just a function of x, but also of another variable, say z). I can perform a multiple regression easily but I would like to be able to store the coefficients of the multiple regression as I must eventually add the coefficient estimate for x and z together. The multiple regression output is in a standard format however as I have to repeat this process for 1500 firms (one regression for each) it would be much more convenient if excel just reported the two coefficients for each regression. That way I could copy a formula across all firms and not use the standard regression window 1500 times.

Is there anyway I can perform the multiple regression formulaically, outputting just the two coefficients I require from each regression?

I apologise for the long winded post. Any help is very much appreciated. Thanks in advance.

I have a data set with fixed X values and corresponding Y values that I can feed in via a formula. There is not necessarily a Y value for each X value. in the cells with no Y data point, a #N/A populates. I can create a scatter plot and fit a polynomial to the data on the chart and it produces the coefficients of the displayed equation. My problem is that I can not get the same coefficients using the linest formula unless I remove all of the data points where the Y values are #N/A. Obviously this is a solution, but each time i pass new Y data into the table it will populate differently, so I need to keep the X values locked in place and not delete them. It seems that if a chart can ignore the #N/A data then the formula might be able to do the same.

I attached the file with the problem for you to look at.


I'm trying to do a Polynomial Regression, and managed to do it. However, I do get different values from those if I do a polynomial trendline with the Excel regression chart. I think I checked everything but still don't find my problem. Anyone has an idea what I'm doing wrong?
Please refer to the attached sheet.

Thanks a lot,

Hi all
i have some questions about interpolation and regression

i have x1,x2,x3 y1, y2(to be calculated), y3
i know the linear interpolation formula to estimate the unknown y2

now what i know that the function relating these values is not linear ,is that formula is
valid or not , or using the regression option in excel to find an equation for that curve
as a second or third order polynomial is better.

if the function is linear and i can find the coefficients by linest function and the by this
linear function i can estimate any y value for given x what the diff between this way and
the above formula.

thanks in advance

I have a graph in excel. I've added a 6th order polynomial trendline. I need the coefficients of that polynomial to appear in some cells below the graph. Please look at my spreadsheet and see if you can help.

Thanks in advance for any help.


I have a set of data that I am using to find a least-squares fit for. In this specific case I am using Excel to find a 6-th order polynomial that best fits my data points.

I can get the coefficients for the polynomial by graphing it and then copying the listed coefficients back onto my spreadsheet but this is very inefficient and I am trying to find a way to automatically get the coefficients without the user having to do all that work. Is there a VBA command for finding the coefficients of a polynomail of order X that does a least squares fit of my data?

I have investigated linest logest trend and forecast but these seem to deal with straight lines of best fit. Is there a way to generate coefficients for a polynomial best fit curve without making a best fit line and copying the values into different cells from the graph.

I have a chart that displays a series of data. From that, I add a polynomial trendline and extract the coefficients to generate a curve fit equation. Is there a way to generate this polynomial equation (pulling the coefficients) of the data without invoking the charting function??


i can happily create a chart that shows the equation and also rsq value for a few scattered points, and i have looked at LINEST and FORECAST, but i really want excel to produce the coefficients for a polynomial line, rather than me copying it from the chart.

eg if the eqn is

y= 23x^4 + 44x^3 + 11x^2 - 13x +2

i want the values of

in cells.

hope this makes sense, thanks in advance.

I'm trying to build a macro with regression statistics for multivariables. I tried "recording" the regression button from data analysis and manipulating the code but continuously keep getting errors.

All I need are the coefficients so I can build an equation for new data. I need to do this almost 1000 times so I need to know an efficient way to do this.

I would really appreciate it if someone can help me out, thanks!

I am trying to produce a parabolic regression (quadratic spline) for the closing price a stock. Please see below for the equation and click on the link for an examples of how it would look. I have no idea how to apply it to an Excel spreadsheet so I can study it against the stock's closing price and need someone's help to get things started.

This script calculates a parabolic regression (Quadratic Spline) of the data series based on the following 2nd order polynomial function: y(x) = b0 + b1*x + b2*x*x where b0, b1 and b2 are the calculated regression coefficients.

Sample of what the end result should look like:

For example I would want to see what a 34 period parabolic regression plotted on top of the closing price of a stock. I have also enclosed a sample of the stock's closing price for review.

Thanks, Steven

I have some data sets I wish to create equations based on (3rd and 4th degree poly for good fit) but can't figure out how.

I've tried the solutions suggested he

but they don't seem to work. I get errors when I try to use the LINEST function.

I've copy-pasted one of the data sets into an empty sheet and uploaded it he

What function(s) do I need to use to get the coefficients as listed in the sheet?

Any help is appreciated.

I have a VBA function that calculates polynomial coefficients for a series of data pairs. One selects the range of cells that the coefficients are to be stored in, and enters the polynomial formula:

{POLFIT(Xa, Ya, N)}

Where Xa is the array of ordinate values, Ya is the array of data values, and N is the polynomial order to be fit.

It is obvious that one needs to select at least N+1 cells when the array funtion is typed in. But, it is easy to select too few cells.

I am looking for a way to test whether enough cells were selected for the range formula: The function declaration is

Function POLFIT(Xa, Ya, N As Integer) As Variant

Various means I have tried to count POLFIT do not return the correct value.

Can anyone provide a method?

Thanks -

Found what I needed - The Application.Caller.Address is the range of cells the array formula is stored in. So i can count those cells to satisy my criteria.


Hey there,

I have two arrays of data on which I would like to be able to run a polynomial regression in VBA.

However, when write the following in VBA:


Dim poly_3 as Variant
Dim arr1 as Variant
Dim arr2 as Variant
poly_3 = WorksheetFunction.LinEst(arr1, my_arr2 ^ {1, 2, 3})

I get a compile error, as {} are not valid characters. I've tried substituting parenthesis and leaving the brackets out completely, but that does not work either.

Anyone know how to perform a polynomial regression in VBA?

Working with two ranges of cells in a worksheet, the Linest function works just fine. ie, =LINEST(H18:H34, G18:G34^{1,2,3}), so I don't know why it would not be the same in VBA.

Office 2007

I have a set of data that I've finally got the spreadsheet to provide analysis of, but it still requires the manual transfer of the Trend line coefficients that I have plotted manually transferring into the appropriate data cells.

I'm seeking to do this automatically, possibly by a macro but I need to find how to extract the 4th order polynomial trend line coefficients.

Any Help ??

On the attached data file, I want to run multiple regression analysis.

a2:a46 are y_knowns. b2:b46, c2:c46, d2:d46, e2:4e6, f2:f46, g2:g6 are x1 to x6_knowns.

Though I am entering with CSE press on linest, I am not able to see the coefficients for c, d,e,f and g.

I know you can view various trend lines in Excel by adding a trend line to an existing chart. Furthermore, you can view the formula on the chart which provides the equation that describes the tend line shown.

In my model, I'm trying to identify numerous (50+) unique polynomial equations (6th order, based on X/Y scatterplot relationships). Currently, the only way to identify the formula is to build 50+ charts, show the trend line, and then manually enter the regression equation shown.

Is there a way for excel to automatically generate the regression equation (6th order, polynomial)? This would prevent the entire manual entry process.


Hi All,

I am trying to do multivariate polynomial regression in excel, trying to correlate data of the form y=f(x1,x2) with second order polynomials:
Y = c + a1*x1 + a2*x1^2 + a3^x1^3 + b1*x2 + b2*x2^2 + b3*x2^3

Using the following command, I have achieved this:
=LINEST(A2:A10,B2:B10^{1,2,3,0,0,0}*C2:C10^{0,0,0, 1,2,3},TRUE,TRUE)

Can anybody tell me the theory Excel uses for this kind of regression?

Thank you very much in advance!


I have a groups of data that I am plotting in XY scatter charts and then fitting 2nd or 3rd order polynomial trend lines to the data. I am then having to manually type in the equations from the charts into cells and use the goal seek function to find "x" where "y=0". Is there not a function that can be used to export the coefficients into a group of cells or a macro that can be used to do this? I am having to do between 10 and 40 charts per day.

Please help.

Can some one help with VBA code to find coefficients of non linear regression?

I am looking for coefficients for a second order non linear curve fit (y= ax^2+bx+c)


I have a problem with the trendline tool in excel 2010.

I fit perfectly a 5th order polynomial into my x-y scatter chart but then, when I use the equation supplied by excel for that specific trendline, the values obtained are way off (see attached file).

When I create a new chart with the equation given by excel, it is obviously completely different from the original one. And I need that equation to be correct because I want to use it for a model I'm developing in a FEM software.

As far as I know and have seen, this problem is might be associated with the Excel Tips "Polynomial regression. How can I fit my X, Y data to a polynomial using LINEST?", but I'm having some trouble in using that function.

Why a perfectly matching 5th order polynomial trendline gives an equation with an output as wrong as it is? How to explain such a deviation?

How to obtain a really representative equation using this tool?

Best regards,

Rui Pedro

What's the best way to find the intersection of two polynomial arrays, preferably in a user defined function so that I don't have to use lots of cells on a worksheet? Specifically, I have two x,y arrays, one which slopes from bottom left to upper right, the other that slopes from upper left to bottom right. I thought I'd use the LINEST function to find the polynomial coefficients of each array (m1, m2, ..., mn), and iterate to find the "predicted" y value based on assumed x for each array until both y values are within some reasonable error.

The second part of this problem is, I can't get teh LINEST function to work in a user defined formula in VB for a polynomial to find the polynomial coefficients (m1, m2, I think I'm having a problem with the use of brackets, as shown below:

Temp = Application.WorksheetFunction.LinEst(y, x^{1,2,3})
m1 = Application.WorksheetFunction.Index(Temp,1,1)
m2 = Application.WorksheetFunction.Index(Temp,1,2)
m3 = Application.WorksheetFunction.Index(Temp,1,3)
mn= Application.WorksheetFunction.Index(Temp,1,n)

Or, should I be using a regression formula to find the intersection of these two arrays?