Peter made it a bit fancy though...
=AVERAGE(IF(SIGN(A1:A3)<>-1,A1:A3))
will pick out both real 0's and reaf off empty cells as 0's.
=AVERAGE(IF(SIGN(A1:A3)=1,A1:A3))
wiil ignore empty cells, but not the real 0's.
A non-fancy set up like...
=AVERAGE(IF(ISNUMBER(A1:A3),IF(A1:A3>0,A1:A3)))
ignores both real 0's and empty cells.