Selected Answer
In your workbook you use the custom cell format "$"#,##0.00 which, by the way, has an unnecessarily complicated syntax because the $ sign is accepted natively. $#,##0.00 would accomplish the same thing. But what, exactly, is it that it accomplishes?
In simple terms, it will truncate displayed decimal digits, rounding the last one. If the result of a calculation is 123.33333 the format will force the display of 123.33. But please bear in mind that the cell value remains at 123.33333 and VLOOKUP will not find 123.33 even if it's right there in front of you to see and touch.
Therefore, in order to apply VLOOKUP (or MATCH, by the way) to this task you need to ensure that both the look-up column and the look-up value has 123.33. Use the ROUND() function
=ROUND(37/3,2)
But it isn't as simple as that because in your example D4=2522.66 has no hidden digits. I4 =2499.53 and L4 =73.13 have no hidden digits either. But =VLOOKUP(I4+L4,D4:D30,1,FALSE) returns #N/A. This has to do with the way Excel's Double data type handles integers. The calculation I4+L4 needs the Double data type and therefore digits are added. Enter this formula in A1
=333.33-333.3
. The cell shows a value of 0.03. Now question this result with
=(A1-0.03)=0
The surprising answer is FALSE and that is what's been baffling you.
When handling even mildly complicated numbers Excel adds insignificant decimals. Under normal circumstances you don't get to see them because they are hidden away by cell formatting and too small to make a rounding difference. (Yes, they can add up to a rounding difference when thousands of values are summed up.) Try this formula to see what we're talking about, =333.33-333.3-0.03 (the result is not 0). The solution is easy. The formula below returns TRUE.
=ROUND(J5-0.03,2)=0
And that's the cure for your LOOKUP problem, too.