A blank cell not registering as zero in excel

A blank cell is not the same as zero in Excel. Excel recognizes blank as empty rather than a value. If you need a blank cell to be treated as zero in a formula, do something like this (for this example, I'll use A1 as the referenced cell):

    if(isblank(a1),0,a1)

Use this in place of a1 in your formula.

EDIT: You received several answers. Both address the "how to fix it", but neither really addresses the second part of your question.

Excel does recognize the difference between an explicit value of zero and the absence of a value. In some cases, the implications of a missing value in a formula don't make a difference. 3 + 0 is the same as 3 + nothing. When there is no logical difference in a computation, Excel will treat an empty cell as if it contained zero.

That's fine if that's what you intend. However, if the cells represent data, you normally want to distinguish between a value you entered as 0 and a value that is missing and should be something else or should be excluded. That's why it is good practice to not rely on Excel to guess how you want to use the cell, but rather to make it explicit.

At the time of this edit, there are several suggestions for forcing a blank to a value of zero. A simple method: prefix the cell reference with a pair of minuses:

   --a1

The double minuses will leave a numerical value unchanged, return a zero if it is blank, or an error if it is something else (like a space character).

As to why you have a cell that behaves differently, there could be a number of reasons. We would have to see the spreadsheet and how you are using the problem cell. However, it probably is not formatting. At least in later versions of Excel, even if the cell is formatted to something like text, if it is empty, it will be treated as zero for calculations. A more likely cause would be that the cell is not actually empty but contains something like a space character. If that is what's going on, none of the suggested fixes will work (a space is not a blank or a number). Try deleting the cell, which will remove any content that is not visible.

If you are curious about the contents, use string functions to see what it is. Len(a1) will tell you if it is empty.