My SUM keeps returning zero — fix numbers stored as text in Excel
SUM returning 0 even though the column is full of numbers? They're stored as text, not numbers, and Excel's SUM silently skips text cells instead of erroring. Here's how to spot it and convert the column back to real numbers
What SUM is actually doing with those cells
Arithmetic operators like + will throw #VALUE! if you try to add real text to a number, but aggregation functions such as SUM, AVERAGE, and COUNT are built to skip over text silently and keep going. A cell holding the text string "1,204" isn't a number to Excel — it's four characters that happen to look numeric — so SUM adds nothing for that row and moves on. Nothing turns red, nothing pops up; the formula just quietly returns less than it should.
How to tell if this is what's happening to you
Select the exact same range your SUM formula covers and look at the automatic total Excel shows in the status bar at the bottom-right of the window — if that quick sum also comes back lower than expected, the values genuinely aren't being read as numbers by anything, formula or otherwise. Text-stored numbers are also left-aligned by default instead of right-aligned, and you'll often see a small green triangle in the corner of the cell with a warning that reads "Number Stored as Text" when you click it.
Where the text formatting usually comes from
This almost never happens from typing numbers by hand — it comes from data arriving already formatted as text: a CSV or database export where every field is plain text by definition, a copy-paste from a PDF or web table, or a column that was explicitly set to Text format in Excel's Text Import Wizard before the numbers landed in it.
Fixing the column so SUM works again
Select the range, then use Data > Text to Columns and click Finish without changing any options — this forces Excel to re-parse each cell and convert genuine numeric text into real numbers. If that doesn't apply, put 1 in an empty cell, copy it, select your range, and use Paste Special > Multiply, which numerically converts every text-number in place. A helper column with =VALUE(A2) works too if you'd rather keep the original column untouched.