Since you are running version 2016 you could use a non-array formula employing the AGGREGATE function as in the following:
Formula:
=IFERROR(INDEX(INPUT!A$2:A$6001,AGGREGATE(15,6,(ROW(A$2:A$6001)-ROW(A$2)+1)/(INPUT!$B$1:$B$6001=$A$2),ROWS(A$2:A2))),"")
I'm not sure that this would speed things up significantly, and my gut feeling is that this might be a situation (pulling data from one column based on a value in another) where a Pivot Table would be a better option. It would help me to visualize the problem if you could upload a sample (the closer to the actual data the better) of your workbook.
To attach a sample workbook. click on GO ADVANCED and then scroll down to Manage Attachments to open the upload window.
Let us know if you have any questions.
Bookmarks