For 1: Array Formula:

=IFERROR(INDEX(B$2:B$100,SMALL(IF($A$2:$A$100=1,ROW(A$2:A$100)-ROW(A$2)+1),ROWS(A$2:A2))),"")

Committed with Ctrl-Shift Enter rather than just Enter (will show as {...}



Regards, TMS