A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data
You switched the row lookup and column indexes: the syntax of INDEX is INDEX(range, row_num, column_num), so MATCH(Y,TL:BL,0) goes before MATCH(X,TL:TR,0).
Define Lookupλ as
=LAMBDA(TL,BR,X,Y, LET(BL, OFFSET(TL, ROW(BR)-ROW(TL)+1, 0), TR, OFFSET(TL, 0, COLUMN(BR)-COLUMN(TL)+1), INDEX(TL:BR, MATCH(Y, TL:BL, 0), MATCH(X, TL:TR, 0))))
Call like this:
=Lookupλ(A1, H10, A15, A16)