ZetCode

Excel GROWTH Function

last modified October 5, 2026

The GROWTH function calculates predicted exponential growth based on existing data. It returns values along an exponential trend line. This tutorial provides a comprehensive guide to using the GROWTH function with detailed examples. You'll learn basic syntax, practical applications, and advanced techniques to master this statistical function.

GROWTH Function Basics

The GROWTH function predicts exponential growth by fitting an exponential curve to existing data points. It uses the least squares method to find the best fit. The function returns y-values for specified x-values.

Component Description
Function Name GROWTH
Syntax =GROWTH(known_y's, [known_x's], [new_x's], [const])
Arguments known_y's (required), known_x's (optional), new_x's (optional), const (optional)
Return Value Array of predicted y-values

This table breaks down the essential components of the GROWTH function. It shows the function name, syntax format, arguments, and return value characteristics.

Argument Required Meaning
known_y's Yes The set of known y-values in the relationship y = b*m^x. Every value must be positive; a zero or negative value makes the function return #NUM!.
known_x's No The known x-values that pair with known_y's. If omitted, Excel uses the sequence {1,2,3,...} sized to match known_y's.
new_x's No The x-values for which you want predicted y-values. If omitted, the function predicts for the known_x's themselves.
const No A logical value. TRUE or omitted calculates the constant b normally. FALSE forces b to 1, so the curve becomes y = m^x.

GROWTH is the exponential counterpart of TREND. It fits the model y = b*m^x, where b is the y-intercept and m is the growth factor per unit of x. Excel finds the fit by taking the natural logarithm of both sides, ln(y) = ln(b) + x*ln(m), and applying least squares to the straight line in that log space. This is why every known_y's value must be positive: the logarithm of zero or a negative number is undefined, and Excel responds with the #NUM! error.

A growth factor m greater than 1 describes growth, m between 0 and 1 describes decay, and m equal to 1 means the values are flat. When there is more than one independent variable, the model generalizes to y = b*m1^x1*m2^x2*... and known_y's must be a single column or row.

Basic GROWTH Example

This example demonstrates the simplest use of the GROWTH function with basic data points.

A B
1 2
2 4
3 8
4 =GROWTH(B1:B3, A1:A3, A4)

The table shows x-values in column A and corresponding y-values in column B. The GROWTH formula in B4 predicts the next y-value for x=4 based on the existing data.

Basic GROWTH formula
=GROWTH(B1:B3, A1:A3, A4)

This formula predicts the y-value for x=4 based on the exponential trend of the existing data points. The result is exactly 16, following the pattern of doubling (2,4,8,16...).

GROWTH with Multiple Predictions

GROWTH can return multiple predictions at once when given multiple new x-values. This example shows this capability.

A B C
1 100
2 150
3 225
4
5
=GROWTH(B1:B3, A1:A3, A4:A5)

This table demonstrates predicting multiple future values at once. The formula in C6 returns predictions for both x=4 and x=5 based on the growth trend.

GROWTH with multiple predictions
=GROWTH(B1:B3, A1:A3, A4:A5)

This array formula predicts y-values for x=4 and x=5. Based on the 50% growth rate in the data (100,150,225), the results will be approximately 337.5 and 506.25. Remember to enter as an array formula (Ctrl+Shift+Enter in older Excel).

GROWTH with Const Argument

The const argument controls the value of the constant b. By default b is calculated from the data, so the curve may cross the y-axis anywhere. When const is FALSE, b is forced to 1 and the curve passes through the point (0,1). Note that for an exponential model it is the constant that is fixed, not the origin: y = b*m^x is never zero for a finite x. This example shows the difference when const is FALSE.

A B C
1 10
2 30
3 90
4 =GROWTH(B1:B3, A1:A3, A4, FALSE)

The table shows how setting const=FALSE affects the prediction. The data is 10, 30, and 90, an exact factor of 3 per step. With the default const=TRUE the fit is b = 10/3 and m = 3, so x=4 predicts 270. With const=FALSE the constant is fixed at 1 and the growth factor is recomputed as m = 5.0259, so x=4 predicts about 638.04.

GROWTH with const=FALSE
=GROWTH(B1:B3, A1:A3, A4, FALSE)

This formula predicts the y-value for x=4 while forcing b=1, so the curve passes through (0,1). Use it only when theory says the process starts at a value of 1 at x=0; otherwise leave const at its default and let Excel estimate b from the data.

GROWTH for Revenue Projections

This practical example uses GROWTH to project future revenue based on quarterly growth data.

A B C
Q1 50000
Q2 65000
Q3 84500
Q4 =GROWTH(B1:B3, , 4)

The table shows quarterly revenue data with GROWTH used to predict Q4 revenue. We omit known_x's so Excel uses the default sequence (1,2,3), and we supply the single new x-value 4 as the third argument.

GROWTH for revenue projection
=GROWTH(B1:B3, , 4)

This formula predicts Q4 revenue based on the exponential growth trend from previous quarters. The revenue rises by exactly 30% each quarter (65000/50000 = 1.30 and 84500/65000 = 1.30), so m = 1.3 and the prediction for x=4 is 109,850. This demonstrates GROWTH's business forecasting application.

GROWTH with Text Labels as X Values

GROWTH needs numeric x-values, so text labels such as month names cannot be passed directly as known_x's. The usual workaround is to build a numeric position for each label, for example with the ROW function, and use those positions as the x-values.

A B C
Jan 200
Feb 240
Mar 288
Apr =GROWTH(B1:B3, ROW(A1:A3), ROW(A4))

The table shows how to handle text x-values by turning them into row numbers. ROW(A1:A3) returns {1;2;3} and ROW(A4) returns 4, giving GROWTH the numeric positions it requires.

GROWTH with text x-values
=GROWTH(B1:B3, ROW(A1:A3), ROW(A4))

This formula predicts April's value by treating months as positions 1, 2, and 3. The values rise by 20% each month (240/200 = 1.20 and 288/240 = 1.20), so the prediction for position 4 is 345.6, which rounds to about 346. This technique works for any ordered categorical data, such as quarters, weeks, or grades.

GROWTH vs. TREND

GROWTH and TREND share the same argument pattern, but they fit different models. TREND fits a straight line and models additive change; GROWTH fits an exponential curve and models multiplicative change. The example below applies both functions to the same data to make the difference clear.

A (x) B (y) C (GROWTH) D (TREND)
1 2
2 4
3 8
4 =GROWTH(B1:B3,A1:A3,A4) =TREND(B1:B3,A1:A3,A4)

The data doubles at every step. GROWTH recognizes that pattern and predicts 16 for x=4, while TREND fits the best straight line and predicts only about 10.67. GROWTH is the better choice whenever the values are multiplied by a fairly stable factor over time.

GROWTH vs. TREND comparison
=GROWTH(B1:B3,A1:A3,A4)
=TREND(B1:B3,A1:A3,A4)

Remember that GROWTH corresponds to the exponential regression that LOGEST reports, just as TREND corresponds to the linear regression that LINEST reports. Use LOGEST or LINEST when you need the coefficients themselves rather than predicted values.

Array Entry and Spilling

When new_x's holds a single value, GROWTH returns a single value and a plain Enter is enough. When it holds several values, GROWTH returns an array with one prediction per value. In Microsoft 365 and Excel 2021 that array spills automatically into the neighbouring cells, so a plain Enter is still enough. In Excel 2019 and earlier you must select the exact output range first and confirm with Ctrl+Shift+Enter, which wraps the formula in curly braces. If the spill range is blocked, modern Excel returns #SPILL! until the obstructing cells are cleared.

Multiple predictions as an array formula
=GROWTH(B1:B3,A1:A3,A4:A6)

With three new x-values, this formula produces three predictions. Select a three-cell range before entering it in legacy Excel, or let it spill in current versions.

GROWTH Errors and Troubleshooting

Cause Symptom Fix
known_y's contains zero or a negative number #NUM! error Keep only positive y-values; the log transform cannot handle zero or negative values
known_x's and known_y's have different dimensions #REF! error Make both ranges the same size and shape
Text or blanks in the ranges #VALUE! error Remove non-numeric entries or convert them with ROW or a numeric key
Output cells are not empty in Microsoft 365 #SPILL! error Clear the spill range or anchor the formula in an empty area
Only one cell selected in legacy Excel Only the first prediction appears Select the full output range and press Ctrl+Shift+Enter
Prediction extends far beyond the known x-range A very large or unrealistic value Treat long-range extrapolation with caution and validate with real data

The GROWTH function is the tool of choice for analyzing and predicting exponential trends in Excel. From business forecasting to population modeling, it fits the multiplicative model y = b*m^x and returns the predicted values you need. Use it when growth compounds by a steady factor rather than by a steady amount, and reach for TREND when the change is additive. Keep known_y's strictly positive, remember that the result is an array, and combine GROWTH with LOGEST when you also want the underlying growth factor. Mastering GROWTH gives you a reliable way to project data that curves upward or downward instead of moving in a straight line.

Author

My name is Jan Bodnar, and I am a passionate programmer with extensive programming experience. I have been writing programming articles since 2007. To date, I have authored over 1,400 articles and 8 e-books. I possess more than ten years of experience in teaching programming.

List all Excel tutorials.