I'm afraid its off to bed for me (currently working nights).
I am not following evidently. In #4, you seem to state clearly that it should be looking for the first value that is greater in the second column. Yet you changed the formula to look for the same value?
Here is what I would think the formula should look like according to what I understand your wanting to return,
=IF(ISERROR(INDEX($F21:$F$33,MATCH(TRUE,IF($F21:$F$33>$B20,TRUE),0))), _
"",INDEX($F21:$F$33,MATCH(TRUE,IF($F21:$F$33>$B20,TRUE),0)))
Again, ditch the spaces and underscore.
Best of luck,
Mark