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.
=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(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(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(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(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(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.
=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
List all Excel tutorials.