SUM

SUM totals every number in one or more ranges. Ignores text, accepts up to 255 ranges, and underpins every total in every workbook.

Math & StatsBeginner
Purpose
Add every number across one or more ranges into a single total.
Returns
A single number, the sum of all numeric values
Syntax
=SUM(number1, [number2], ...)
Excel version
Every version of Excel since 1985

How SUM works

SUM accepts up to 255 arguments, each of which can be a single number, a cell reference, or a range. =SUM(B2:B13) totals 12 cells. =SUM(B2:B13, F2:F13) totals 24 cells across two non-contiguous ranges. The arguments don't have to be adjacent — useful when totals come from quarterly columns or split sections.

Text values in the range are silently skipped, so a column header like "Total" in B1 doesn't break the formula. Dates are stored as serial numbers internally, so they sum (though that's rarely what you want). Empty cells count as zero. Errors propagate: any #N/A or #DIV/0! in the range cascades into the result, so wrap the offending cell in IFERROR if you want SUM to ignore it.

The two patterns worth knowing beyond "sum a column": running cumulative totals using $-anchored start cells (=SUM($B$2:B2) dragged down expands one cell at a time), and 3D references across sheets (=SUM(Jan:Dec!B5) sums B5 from every sheet between Jan and Dec). Both turn SUM from a basic adder into a structural pattern.

= SUM(number1, [number2], ...)

Arguments

ArgumentTypeRequiredDescription
number1number or range✓ RequiredThe first value, cell reference, or range to total. Most commonly a range like B2:B13 or a single cell. Single numbers like =SUM(10, 20, 30) work but are usually shorter as =10+20+30.
number2, ...number or range✗ OptionalUp to 254 more arguments. Use to add disjoint ranges in one formula: =SUM(B2:B13, F2:F13) or =SUM(Q1!B5, Q3!B5, Q4!B5). Useful for cross-section totals where SUMIF would be overkill.

SUM basic: year-to-date total from monthly column

The first SUM most people ever write. Eight months of sales in column B, the year-to-date total in one cell. One range, one cell, one number.

Two equivalent ways to write it: =SUM(B2:B9) explicitly lists the range, or =SUM(B:B) tells Excel to sum every numeric value in column B (the header text is ignored). Range version is faster and clearer; whole-column is handy when the data length keeps changing.

=SUM(B2:B9)
  • B2:B9 -> the eight monthly sales cells (blue)
  • Text ignored -> the "Month" header in B1 doesn't break SUM
  • Empty cells = 0 -> missing months don't show up as #N/A; they just add nothing
  • Result -> $448,700 - the year-to-date total
  • Alternative -> =SUM(B:B) totals the whole column. Slightly slower; auto-expands as you add rows
D2
fx
=SUM(B2:B9)
ABCDEFG
1MonthSalesAnnual total
2Jan$48,200$448,700← formula
3Feb$52,100
4Mar$61,500
5Apr$58,900
6May$54,800
7Jun$57,300
8Jul$56,100
9Aug$59,800
Formula entered in cell D2. SUM totals every numeric value in the monthly sales column.
Eight months added: $48,200 + $52,100 + $61,500 + $58,900 + $54,800 + $57,300 + $56,100 + $59,800 = $448,700. The formula lives in one cell, the data lives somewhere else, the relationship is permanent.

SUM disjoint ranges: Q1 + Q3 + Q4 only

Commission is paid in Q1, Q3, and Q4 — Q2 is a holdback for the annual close. Each quarter lives in its own column block, so the annual commission isn't a clean B2:M2 range.

SUM takes up to 255 separate arguments. List the three quarter ranges with commas between them and Excel adds them all into one total. No SUMIFS needed, no helper column — just SUM treating each argument as a sub-range.

=SUM(B2:D2, H2:J2, K2:M2)
  • B2:D2 -> Q1 months — Jan/Feb/Mar (blue)
  • H2:J2 -> Q3 months — Jul/Aug/Sep (purple)
  • K2:M2 -> Q4 months — Oct/Nov/Dec (orange)
  • Q2 deliberately skipped -> the formula tells the story: only paid-out quarters
  • Per-rep formula -> write in N2 once, drag down through N5 — each rep gets their own commission total
  • Result for Sarah -> $513K - Q1 $161K + Q3 $177K + Q4 $175K
N2
fx
=SUM(B2:D2, H2:J2, K2:M2)
ABCDEFGHIJKLMNOP
1JanFebMarAprMayJunJulAugSepOctNovDecCommission
2Sarah Chen$48$52$61$58$54$57$56$59$62$60$57$58$513K← formula
3James Wu$42$46$58$55$49$53$61$63$58$54$50$52$484K↓ drag down
4Maria Lopez$55$59$64$62$57$60$63$65$68$66$61$63$564K
5Anya Patel$39$44$50$48$43$46$52$54$51$48$45$47$430K
Four reps, each with their own Q1+Q3+Q4 total. Write =SUM(B2:D2, H2:J2, K2:M2) in N2 once and drag down through N5 — every row totals its own three quarters. Numbers shown in $K for table fit; actual cells hold the full values.

Running balance: =SUM($B$2:B2) dragged down

Every cash log, every revenue ramp, every project burn-down needs a running total column. The trick: anchor the START of the range with $ so it never moves, leave the END unanchored so it grows by one cell as you drag down.

C2 sums B2 only ($12,400). C3 sums B2:B3 ($12,400 + $8,900). C4 sums B2:B4 ($12,400 + $8,900 + $14,250). Each row's running total is the previous row's total plus this row's amount — no recursion, no helper column.

=SUM($B$2:B2)
  • $B$2 -> start cell, fully anchored - never moves on drag-down
  • B2 -> end cell, NO anchor - grows to B3, B4, B5 as the formula moves
  • Result row by row -> C2 = $12,400. C3 = $21,300. C4 = $35,550. C5 = $51,200...
  • Per-row formula -> write =SUM($B$2:B2) in C2 once, then drag down through C9
  • Without the $ -> the range moves entirely, defeating the cumulative pattern
C2
fx
=SUM($B$2:B2)
ABCDE
1DateAmountRunning total
2Apr 1$12,400$12,400← formula
3Apr 3$8,900$21,300↓ drag down
4Apr 7$14,250$35,550
5Apr 11$15,650$51,200
6Apr 15$9,800$61,000
7Apr 22$11,300$72,300
8Apr 27$13,500$85,800
9Apr 30$10,200$96,000
Formula entered in C2 and dragged down through C9. The $-anchored start expands the range by one cell each row.
The anchored start ($B$2) holds while the end (B2 → B3 → B4) walks down with the formula. Each row's running total is the previous row's total plus the current amount.

Sum-of-sums: grand total from row subtotals

A P&L block with five expense categories and four quarters. Each row already has its annual subtotal computed (F column). The grand total is just the SUM of the subtotal column.

This is the cleanest pattern for any cross-tab report: build subtotals in their own column, then sum those subtotals for the grand total. No double-counting, no need to sum the whole grid manually, and you can audit each row independently.

=SUM(F2:F6)
  • F2:F6 -> the row subtotals - one per expense category
  • Subtotals first -> each F cell already does =SUM(B:E) for its row
  • Grand total -> SUM of the subtotals - mathematically equivalent to summing the whole grid
  • Result -> $1,840,000 - total operating expenses for the year
  • Why this pattern -> you can drill into any row's subtotal independently. Helps audits.
F8
fx
=SUM(F2:F6)
ABCDEFGH
1CategoryQ1Q2Q3Q4Subtotal
2Salaries$220K$225K$230K$235K$910K
3Rent$48K$48K$48K$48K$192K
4Software$32K$34K$36K$38K$140K
5Marketing$65K$72K$78K$85K$300K
6Travel$58K$72K$76K$92K$298K
7
8Grand total$1,840K← formula
9
Formula entered in cell F8. The F column already holds row subtotals; this just sums them.
Row subtotals: $910K + $192K + $140K + $300K + $298K = $1,840K. Same as summing the entire B2:E6 grid, but built so each row's number is auditable.

Where people go wrong

  1. Errors anywhere in the range break the total

    SUM happily skips text and empty cells, but an #N/A or #DIV/0! in the range cascades into the result. One broken lookup mid-column turns the annual total into #N/A and the dashboard breaks.

    Fix: Either fix the source error or wrap the offending cells with IFERROR before SUM sees them: write =IFERROR(B2,0) in the source cell, or use =SUMIF(B2:B13,">=0") which sidesteps errors entirely.
  2. Hidden rows still get summed

    Filtering a table to show only one region doesn't change what SUM totals. SUM ignores nothing — every row in the range, hidden or not, gets added. The visible total on screen doesn't match the formula's answer.

    Fix: Use SUBTOTAL (with a function number of 9) or AGGREGATE if you want the total to respond to filters. =SUBTOTAL(9, B2:B100) sums only visible rows. Useful in any filtered table.
  3. Confusing whole-column refs with auto-expand

    =SUM(B:B) totals every numeric cell in column B forever. If you later add a stray number lower in the column (a memo, a junk paste, anything), it silently joins the total. Hard to spot.

    Fix: Prefer an explicit range (B2:B13) for fixed datasets, or convert the data to an Excel Table and use structured references (=SUM(Table1[Sales])). Tables auto-expand cleanly and reject stray rows below.
  4. SUM of dates returns a giant number

    Excel stores dates as serial numbers (Jan 1 1900 = 1, today is ~46000). =SUM of a date column returns the sum of those serial numbers — a meaningless six-digit value that looks like a bug.

    Fix: There's almost never a reason to SUM a date column. If you meant to count rows, use COUNTA. If you meant earliest or latest, use MIN/MAX. If you needed an elapsed total, subtract two dates instead.

Notes

  • SUM is the single most-used function in Excel. The Σ AutoSum button on the Home tab inserts a SUM with a guessed range.
  • Accepts up to 255 arguments. Each can be a number, a cell, a range, or a name.
  • Text values are silently skipped. Headers don't break the formula.
  • Empty cells are treated as zero.
  • Errors (#N/A, #DIV/0!, etc.) propagate. Wrap offending cells with IFERROR to suppress.
  • Whole-column refs work (=SUM(B:B)) but are slower and pick up stray values.
  • Excel Tables give you structured references: =SUM(Table1[Sales]). Cleanest pattern when the data grows.
  • 3D references work across sheets: =SUM(Jan:Dec!B5) sums B5 from every sheet between Jan and Dec inclusive.
  • For conditional sums (one criterion), use SUMIF. For multi-criteria, use SUMIFS. For dynamic arrays, use SUMPRODUCT.
  • SUBTOTAL(9, range) sums only visible rows — useful in filtered tables. AGGREGATE has the same behaviour with more options.

Now prove it

Reading about SUM is one thing.

Writing one that has to total a budget where Q2 is intentionally skipped, with a running total column already there, and a grand total at the bottom that updates as rows are added — that's the actual job.

These exercises drop SUM into the layouts you'll see in real workbooks: monthly columns, disjoint quarters, cumulative balances, and subtotal grids.

Here's the thing about SUM.

You can read this page once and assume you've already got it because every Excel user does. Then a manager hands you a sheet with hidden rows and asks for a filtered total, and the obvious formula returns the wrong number.

That gap, between knowing SUM and reaching for the right variant (SUBTOTAL, SUMIF, SUMPRODUCT) under pressure, is exactly what CellSkill is built to close.

Not with more reading.

With practice on scenarios that look like your actual job.

Start practicing SUM for free →
Free account . No credit card . Cancel anytime
Browse exercises
SUM in Excel: Add a Range of Numbers (Every Way) · CellSkill