Hi (I'm a Excel 2000 user) in the example attache I'm using array formulae
=if(iserror(Index($A$3:$A$51,small(if(B$3:B$51=$A$56,Row($A$3:$A$51)-2),Row(A1)))),"",Index($A$3:$A$51,small(if(B$3:B$51=$A$56,row($A$3:$A$51)-2),Row(A1))))
In Excel 2007 and later (your option) the formula can be dried as follows:
=Iferror(Index($A$3:$A$51,small(if(B$3:B$51=$A$56,Row($A$3:$A$51)-2),Row(A1)))),"")
In the formulae row(a1) is the counter that helps the formula to get the first - Row(a1)- the second - Row(a2)- name you need to extract.
All the formulae are confirmed with control+shift+enter.
The formulae consider column A (names)=column I=column Q..
Regards
Bookmarks