In Excel 2010, You have the countifS function.
I was having issues if I was trying to count the number of cells in a range that have a non0 value.
e.g. If you had a worksheet that in the range A1:A10 had values 1, 0, 2, 3, 0 and you wanted the answer 3.
The normal function =COUNTIF(A1:A10,"<>0") would give you 8 as it is counting the blank cells as 0s.
My solution to this is to use the COUNTIFS function with the same range but multiple criteria e.g.
=COUNTIFS(A1:A10,"<>0",A1:A10,"<>")
This effectively checks if the range is non 0 and is non blank.