Given all of the constraints mentioned and given numeric data types:

a)

C3:
=LOOKUP(9.99E+307,CHOOSE{1,2},0,INDEX(A!$B$2:$M$163,MATCH($C$2,A!$A$2:$A$163,0),MATCH($B3,A!$B$1:$M$1))))
copied down
b)

Change RefersTo to:

=A!$A$2:INDEX(A!$A:$A,MATCH(REPT("Z",255),A!$A:$A))