The percentile(-rank) formulas also have built-in interpolation which can be
combined in a simple and efficient way. With the general set up of x and y
values in columns a and b and a lookup value z in cell c1, try entering:
=percentile(b:b,percentrank(a:a,c1,30))
(the 30 just ensures full precision is used in the calculation). This
formula applies to any increasing x and y values, which accounts for many
cases of interest, and does not depend on the order of x or y. With a
decreasing trend you can use "1-percentrank" in the formula instead.
For greater precision (cubic) curves can be used to join points:
=trend(y,((max(rank(z,(z,x)),2)-rank(x,x)-0.5)^2<3)*x^{0,1,2,3},z^{0,1,2,3},0)
(which is an extension of the general linear case using 3's in place of
1's). Plotting this for a range of z values should show a very good fit to
the data. HTH.