In Excel: give FORECAST.LINEAR only the two bracketing points — =FORECAST.LINEAR(x,{y1;y2},{x1;x2}) — and it returns the straight-line value between them.
On this page7
Sort the table by the x column ascending; everything below depends on that order.
Locate the row below the target with =MATCH(E2,$A$2:$A$13,1), which returns the position of the largest x not greater than the target.
Use INDEX with that position and the one after it to build the two-point ranges for FORECAST.LINEAR.
Or compute it arithmetically: y1 + (x - x1) * (y2 - y1) / (x2 - x1), which makes each term visible on the sheet.
Guard the edges with IF so a target outside the table returns a message rather than a silent extrapolation.
What this does
Interpolation estimates a value at an input that lies between two measurements, on the assumption that the relationship is straight between them. Passing FORECAST.LINEAR the whole table instead of the bracketing pair does something quite different: it fits a least-squares line through every point and returns a value from that fit, which is a regression estimate rather than an interpolation. Most people learn this as a sequence of clicks and forget it by next week; learning it as a pattern instead is what lets you apply it to the next, slightly different version of the problem without starting from scratch. That is the difference this page is trying to make. The difference between a quick fix and a sheet you can trust is the extra minute you spend validating “excel function interpolate”. Start on a copy or a tiny sample, keep the affected formula visible, and compare the result with the outcome you expected before you touch the real workbook. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. The point is a calculation you can defend to a CFO or an auditor, but the practical win is that someone else can open the file and understand what happened without asking you.
A worked example
Viscosity is 4.2 at 20 °C and 3.1 at 30 °C. At 24 °C the interpolated value is 4.2 + (24-20) × (3.1-4.2) / (30-20) = 3.76, and =FORECAST.LINEAR(24,{4.2;3.1},{20;30}) returns the same 3.76. Handing the function all twelve rows of the table would return 3.68 — a different number answering a different question. Rate tables, calibration curves and price breaks are all published at intervals, and reading the nearest row instead of interpolating is a rounding error nobody documents. Check the referenced cells, argument order and result type in your workbook. Start with the worked example before changing an input, then compare the changed result with the calculation you expected. An error value or a result of a different type is a reason to inspect the inputs and arguments.
In Google Sheets
Google Sheets support for this task has not been verified. Check the function, arguments and workflow in the target product before transferring the example. Matching formula notation does not establish identical behaviour. Nothing on this page is behind a login or a download: the exact answer is at the top, and the detail below it is there for when you need it. That is the whole promise here — the answer first, and just enough context to make it stick. For “excel function interpolate”, keep the input cells and the result visible while you check the formula in Excel. Follow the worked example and change one input at a time. The steps explain the workbook calculation; this page does not run a live calculator for that task.
Common mistakes
- Passing the entire dataset to FORECAST.LINEAR and calling the result an interpolation.
- Leaving the x column unsorted, which makes
MATCHwith match type 1 return the wrong bracketing row without any error. - Extrapolating past the ends of the table, where a straight-line assumption has nothing supporting it.
- Interpolating a curved relationship over a wide gap — fit a curve, or interpolate between closer points.
Frequently asked questions
Is FORECAST.LINEAR the same as TREND?
For a single new x they return the same value. TREND accepts an array of new x values and returns an array of results.
How do I find the two rows to interpolate between?
MATCH with match type 1 on a sorted x column gives the row below; the row after it is the upper bracket.
What about non-linear data?
Add a trendline, tick Display Equation on chart, and evaluate that equation — or interpolate between points close enough together for a line to be reasonable.
Can I interpolate a date?
Yes. Dates are numbers, so a date x column works directly, as long as the cells are real dates rather than text.