The picture eventually showed up for me. I don't know why it didn't to start with.
Anyway, since you want to do this to print, did you consider my suggestion in post
#5 ?
If you really do want to do it by formula, for the layout shown in the sample, try this formula in D3 and copy down
<del>=IFERROR(INDEX(B$3:B18,AGGREGATE(15,6,(ROW(B$3:B$18)-ROW(B$3)+1)/ISTEXT(B$3:B$18),ROWS(D$3:D3))),"")</del>
Edit: Sorry, the above formula was missing a $ sign and also I forgot about including blanks. Try this instead.
=IFERROR(INDEX(B$3:B$18&"",AGGREGATE(15,6,(ROW(B$3:B$18)-ROW(B$3)+1)/ISTEXT(B$3:B$18&""),ROWS(D$3:D3))),"")