That's about it.....
it's more a quirk of LOOKUP than by design, I believe
LOOKUP normally requires a sorted (ascending) reference - array or range - then the greatest value less than or equal to the lookup value will be returned, so
=LOOKUP(5,{2,4,6,8})
returns 4, the greatest value less than the lookup value (5)
If the lookup value is greater than any value in the reference then the largest value will be returned, so
=LOOKUP(10,{2,4,6,8})
returns 8
but because the reference SHOULD be sorted the largest value should also be the last, so LOOKUP returns the last - because that should be the greatest - even when the range is unsorted so
=LOOKUP(10,{2,4,8,6})
returns 6
so, finally, that means that when the lookup value is 9.99999999999999E+307 this will always be greater than all numbers in the reference and the last will be returned. Error values and text will be ignored so
=LOOKUP(9.99999999999999E+307,{100,1,"hat",#N/A})
returns 1
see Aladin's contribution here (and probably elsewhere too) for a better explanation
http://www.mrexcel.com/board2/viewtopic.php?t=105725