OK, since you'll be adding data we need to create a dynamic named range.

Goto the menu Insert>Name>Define

Name: Values (or whatever name you want to use as long as it's a valid name!)

Refers to: =$B$2:INDEX($B$2:$B$100,COUNTA($A$2:$A$100))

Use a reasonable end of range that allows for expected future data addition.

OK out

I'm assuming that there are no empty/blanks cells within the data range.

Enter this formula in C1. This will return the count of values that are >0.

=COUNTIF(Values,">0")

Enter this array formula** in C2:

=IF(ROWS(C$2:C2)>C$1,"",INDEX(A:A,SMALL(IF(Values>0,ROW(Values)),ROWS(C$2:C2))))

** array formulas need to be entered using the key combination of CTRL,SHIFT,ENTER (not just ENTER). Hold down both the CTRL key and the SHIFT key then hit ENTER.

Copy down until you start getting blank cells then copy down additional cells to allow for future returns when new data is added to the data table. How many rows should you copy the formula to? I don't know, only you know how many returns are possible.