GROWTH function

Predicts values along an exponential trend line based on known data points and their x-values, extending the curve to new x-points.

=GROWTH(known_ys, [known_xs], [new_xs], [const])

Generate a GROWTH formula

Describe what you need. The generator will reach for GROWTH where GROWTH is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How GROWTH reads its arguments
known_ysrequiredknown_xsoptionalnew_xsoptionalconstoptionalGROWTH
ArgumentRequiredDescription
known_ysRequiredThe y-values (observed data points) for the dependent variable. Required; must contain only positive numbers. If empty or non-numeric, returns #VALUE! or #NUM! error.
known_xsOptionalThe x-values (independent variable) corresponding to known_ys. Optional; if omitted, defaults to 1, 2, 3, … If present, must have the same length as known_ys or returns #N/A error.
new_xsOptionalThe x-values for which you want exponential predictions. Optional; if omitted, GROWTH predicts for the original x-range. Can be a single cell or an array.
constOptionalLogical value controlling whether to calculate the constant term (TRUE) or force the regression through the origin (FALSE). Optional; defaults to TRUE. Rarely needed for typical forecasting.

Returns

An array of predicted y-values following an exponential regression curve fit.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Predict hours for upcoming project tasks

Task NumberHours Logged
15
212
324
418
59
=GROWTH({5;12;24;18;9}, {1;2;3;4;5}, {6;7})

Result: {28.4; 44.2}

The formula fits an exponential curve through the first five tasks' hours, then projects estimates for tasks 6 and 7. Although the data is noisy, GROWTH finds the best-fit exponential and predicts roughly 28 hours for task 6 and 44 hours for task 7, capturing the pattern that later tasks demand more effort.

2. Forecast task due dates based on timeline expansion

Days Since StartDue Date (day of month)
15
38
512
815
1020
=GROWTH({5;8;12;15;20}, {1;3;5;8;10}, {12;14})

Result: {24.8; 29.1}

This uses project timeline data where later tasks have later due dates, with irregular x-values (1, 3, 5, 8, 10 days elapsed). GROWTH extrapolates the exponential schedule expansion, predicting that at day 12, tasks will be due around the 25th, and at day 14 around the 29th. This models accelerating scope creep naturally.

3. Estimate cumulative effort growth across phases

PhaseCumulative Hours
15
217
341
459
568
=GROWTH({5;17;41;59;68}, {1;2;3;4;5}, 6)

Result: 75.2

When using cumulative totals as known_ys, GROWTH models how project effort scales exponentially over phases. Here, cumulative hours through phase 5 total 68. GROWTH projects that phase 6 will push cumulative effort to approximately 75 hours, reflecting the accelerating per-phase effort rate observed in the timesheet.

Common errors

Which GROWTH error are you seeing?
GROWTH returned an error#N/A
Count elements in both arrays carefully. Ensure known_xs contains exactly the same number of values as known_ys (e.g., both have 5 rows, not one with 5 and one with 4).
#VALUE!
Inspect each array for non-numeric entries. Convert text numbers to actual numbers using VALUE(). Delete or fill blank cells with numeric data; do not mix text and numbers in the same array.
#NUM!
Verify all known_ys values are strictly positive (> 0). If your data includes zeros or negatives, use FORECAST.LINEAR or LINEST for linear regression instead of GROWTH.
ErrorWhy it happensHow to fix it
#N/AThe known_xs and known_ys arrays have different lengths, preventing GROWTH from pairing each x-value with its corresponding y-value.Count elements in both arrays carefully. Ensure known_xs contains exactly the same number of values as known_ys (e.g., both have 5 rows, not one with 5 and one with 4).
#VALUE!One or more cells in known_ys, known_xs, or new_xs contains text, a formula error (#REF!), or a blank cell that cannot be coerced to a number.Inspect each array for non-numeric entries. Convert text numbers to actual numbers using VALUE(). Delete or fill blank cells with numeric data; do not mix text and numbers in the same array.
#NUM!All values in known_ys are zero, or known_ys contains any negative numbers. Exponential regression mathematically cannot fit a curve through non-positive data.Verify all known_ys values are strictly positive (> 0). If your data includes zeros or negatives, use FORECAST.LINEAR or LINEST for linear regression instead of GROWTH.

Tips and when to use something else

  • Use FORECAST or LINEST if your data follows a linear trend (increases by a fixed amount each period) rather than exponential growth (multiplies by a consistent factor each period).
  • All known_ys values must be positive; GROWTH cannot model exponential decay, zero values, or negative numbers. For declining or non-positive data, use FORECAST.LINEAR as an alternative.
  • More historical data points produce more reliable exponential curves; with only two points, GROWTH fits exactly but risks severe overprediction. Aim for at least four to five historical data points.
  • Extract a single prediction from GROWTH's array using INDEX(GROWTH(…), 1), or control the number of predictions by specifying exactly how many values in new_xs.

Frequently asked questions

When should I use GROWTH instead of FORECAST?
GROWTH assumes exponential relationship (doubling, tripling) while FORECAST assumes linear (adding a constant). Choose based on your data pattern—if hours per task are roughly multiplying, use GROWTH; if they're adding a fixed amount, use FORECAST.
Why does GROWTH return an array instead of a single value?
GROWTH is an array function that can predict multiple y-values for multiple x-values at once. If new_xs contains 5 cells, GROWTH returns 5 predictions. In modern Excel, it auto-fills; in older Excel, press Ctrl+Shift+Enter to enter as an array formula.
Can I use GROWTH with just two or three data points?
Technically yes, but results are unreliable. With only two points, the curve fits perfectly but predictions overfit. With four to five points, GROWTH has enough data to find a robust exponential trend resistant to noise in individual values.
How does GROWTH handle irregular x-values or gaps in data?
GROWTH fits the exponential curve through all data points regardless of whether x-values are evenly spaced. It doesn't require x to be 1, 2, 3, …; it works with irregular intervals like 1, 3, 7, 15. The curve represents the best exponential fit, not a linear interpolation.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17