Hi, craymer!
Your formula at cell G7 is:
=VLOOKUP($F$7,Tables!$G$3:$H$70,2,1)
where the last parameter in 1 indicates an approximate search into a range in ascending order, which is correct but only up to row 63, then zeros appear and Excel gets lost.
However don't ask me why it works fine with $H$64 and not with 65 in advance, but maybe here's a workround:
In worksheet Data:
a) Change your G7 formula to:
=VLOOKUP($F$7+0.000001,Tables!$G$3:$H$70,2,1)
In worksheet Tables
b) Change your G4:G70 formulas to:
=G4+0,001
c) Change your H4:H70 formulas to:
=H3+SI(Y(G4<=Data!$E$17;G4>0);$P$5;0) -----> in english: =H3+IF(AND(G4<=Data!$E$17,G4>0),$P$5,0)
d) Now back to what you were asked to don't ask me, place this 2 temporary formulas in:
L8: =REDONDEAR(G8;3) -----> in english: =ROUND(G8,3)
M8: =BUSCARV(L8;G$3:H$70;1;FALSO) -----> in english: =VLOOKUP(L8,G$3:H$70,1,FALSE)
and copy them down up to row 70.
L8 is the same argument used in the Data!G7 cell formula, and M8 is an exact search for the "same" theoretical value in G column... but check what happens from row 41 in advance (values from .938)... Yeap, Excel doesn't find those "exact" values shown with "two" decimal places. In fact this is due to how Excel stores internally non integer values, i.e., single or double numeric type values. Give a look at the following links:
http://en.wikipedia.org/wiki/Numeric_precision_in_Microsoft_Excel
http://www.cpearson.com/excel/rounding.htm
Hope it helps.
Regards!