I've just come across this old post of mine and realised that although I had worked out a solution to the error trapping problem I hadn't posted it.
{=IF(ISERROR(INDEX(Cover,MATCH(1,(LeaveDate=E2)*(Name=F2),0)))=FALSE,INDEX(Cover,MATCH(1,(LeaveDate=E2)*(Name=F2),0)),"")}