This is an array formula (use Ctrl+Shift+Enter to confirm). In D2:
=IF(ROWS(D$1:D1)>COUNT(B:B),"",INDEX($A:$A,SMALL(IF(B$2:B$100<>"",ROW(B$2:B$100)),ROW(D1))))
Adjust the B2:B100 range size as necessary, then copy over to col e and down as far as you would like. Unused formula cells will display "blanks".