LOOKUP function with this construct return last cell with a value in it.
If you see the Lookup array part of the function it will either be 1 or a #Div/0 error, now LOOKUP ignore errors and go for looking the 2 in the array. In case of a failure that it did not find 2, it will return last position of the number less than it, which will be 1 in this case. So finally corresponding to that position we get the final result from result array i.e. 3rd argument of LOOKUP function.