AVERAGE function ignores text and logical value (TRUE/FALSE) but not errors
You can use an array formula like this
=AVERAGE(IF(ISNUMBER(J1:J20),J1:J20))
which needs to be confirmed with CTRL+SHIFT+ENTER so that curly braces appear around the formula in the formula bar
Perhaps simpler, if you have no negative values
=SUMIF(J1:J20,">0")/MAX(1,COUNT(J1:J20))
regrads, barry