Try this ARRAY formula...
=IFERROR(IF(ROWS(B$7:B7)>$E$3,"",INDEX(db!A$2:A$26,SMALL(IF(db!$A$2:$A$26>=$C$3,IF(db!$A$2:$A$26<=$D$3,IF(db!$B$2:$B$26=$B$3,ROW(db!$A$2:$A$26)-ROW(db!$A$2)+1))),ROWS(B$7:B7)))),"")

You could also use Data Validation in B3 to make sure the names are spelled correctly, and only names in the list are used.