Adding a native interpolation function in Excel
Interpolation (even a simple linear interpolation) would be a great native function for Excel to have. Something like INTERPOLATE(KnownXRange,KnownYRange, NewX) would be fantastic for anyone who ever has to do this
The current workaround looks something like this:
=FORECAST(NewX,OFFSET(KnownY,MATCH(NewX,KnownX,1)1,0,2), OFFSET(KnownX,MATCH(NewX,KnownX,1)1,0,2))
Thanks for the suggestion, and thanks for showing how you’re using the FORECAST as a workaround. We’ll consider this request along with all the other ideas here and prioritize it according to the votes – so please keep voting if you want to see the priority raised!
Best,
John [MS XL]
10 comments

Anonymous commented
Exposing the same logic used in the scatter plot function when it either uses linear interpolation or smooth interpolation to create lines joining scatter points as a function would be very helpful. This function could have a simple interface as suggested in opening post and would be widely used.

Cenk Tarhan commented

Anonymous commented
There are multiple linear interpolation functions available for Excel in the windows version, but none for the Mac version. Please, someone write a mac version of a robust, linear interpolator.
One version for windows is available from SourceForge: http://xongrid.sourceforge.net

RJH commented
Linear interpolation would be awesome. An added bonus would be to have more general spline functions.

Lepista commented
I have made a vb function to do exactly this.

Doug Jenkins commented
Note that the posts dealing with Cubic Splines and using Linest for nonlinear curve fitting are by far the most popular on my blog, so there is obviously a strong demand for this out there.
Also note that it should include simple linear spline interpolation.

Brian Canes commented
Maybe have a more general interpolation  Linear, 2nd degree polynomial, third.... and also extrapolation. I have the workaround based on the LINEST function as follows. Define names n, k and m.
'unY=Sumproduct(unX^(n+1m),LINEST(y,x^k))
'where m=TRANSPOSE(ROW(INDIRECT("1:"&(n+1))))
'where k=TRANSPOSE(ROW(INDIRECT("1:"&n)))
'x is array or range of known x's
'ys array or range of known y's
So n=1 is linear, etc
'n is number of terms in polynomial 0<n<16
'unX is unknown x argument
'unY is unknown y to be determined
So for n=1 =SUMPRODUCT(15^(n+1m),LINEST({75000;25000},{10;20}^k)) gives 50000
and =SUMPRODUCT(5^(n+1m),LINEST({75000;25000},{10;20}^k)) gives 100000
Powerful
Regards
Brian 
Kevin Hanson commented
This is a great suggestion. I also like the comment about having an extrapolation flag. Additionally, it would be nice to have options for different types of interpolation beyond just linear interpolation (nearest neighbor, logarithmic, hyperbolic).
I might suggest:
INTERPOLATE(NewX, KnownXRange, KnownYRange, [Extrapolate=False], [Method="Linear"])
as a syntax, to put the "lookup value" as the first parameter. 
Tom commented
A flag to deal with sorted and unsorted data would also be useful.

Don commented
I would suggest adding a TRUE/FALSE at the end of the formula to indicate whether extrapolation is allowed.