The first thing most people do when they notice Excel showing 12.35 instead of 12.349999999999998 is format the cell to show more decimals. That’s like putting tape on a leaky pipe — the number underneath is still wrong, and your SUMs, comparisons, and exports will break.
The Problem
You’re reconciling Q1 vendor invoices in Sheet1. Column A has invoice IDs, B has quoted amounts from a supplier API (imported as text then converted), and C uses =B2*1.07 to calculate tax-inclusive totals. But your finance team says the total doesn’t match their ERP system — off by $0.01 across 47 line items.
Here’s what’s actually happening in your sheet:
| Invoice ID | Quoted Amount | Tax-Inclusive (Formula) | Actual Value (F9) |
|---|---|---|---|
| INV-7821 | $4,299.99 | $4,600.99 | 4600.9893 |
| INV-7822 | $1,850.00 | $1,979.50 | 1979.4999999999998 |
| INV-7823 | $999.50 | $1,069.47 | 1069.465 |
| INV-7824 | $3,125.75 | $3,344.55 | 3344.5525000000003 |
| INV-7825 | $2,000.00 | $2,140.00 | 2140 |
| INV-7826 | $745.25 | $800.00 | 799.9999999999999 |
That last row? 745.25 * 1.07 = 799.9999999999999, not 800.00. Excel displays 800.00 because of cell formatting — but the underlying value is imprecise. And if you copy that cell into another workbook or export to CSV, you’ll get 799.9999999999999, not 800.
The Solution
Don’t fight display — fix the math. Use ROUND() where precision matters, but only after you’ve verified the source data type. Here’s how to fix rows B2:C7:
- Select B2:B7 → Press
Ctrl+H→ Find., Replace with.→ ClickOptions→ CheckMatch entire cell contents→ ClickReplace All. This forces Excel to re-evaluate stored values as numbers, not text artifacts. - In C2, replace
=B2*1.07with=ROUND(B2*1.07,2). Drag down to C7. - Select C2:C7 → Right-click →
Format Cells→ Number tab → Decimal places:2→ OK. - Verify with
F9in formula bar: now C6 shows800.00and its underlying value is exactly800.
Here’s the corrected table:
| Invoice ID | Quoted Amount | Tax-Inclusive (Fixed) | Underlying Value |
|---|---|---|---|
| INV-7821 | $4,299.99 | $4,600.99 | 4600.99 |
| INV-7822 | $1,850.00 | $1,979.50 | 1979.5 |
| INV-7823 | $999.50 | $1,069.47 | 1069.47 |
| INV-7824 | $3,125.75 | $3,344.55 | 3344.55 |
| INV-7825 | $2,000.00 | $2,140.00 | 2140 |
| INV-7826 | $745.25 | $800.00 | 800 |
Total now matches ERP down to the cent. No formatting tricks. Just clean math.
Going Further
If you’re pulling numbers from external systems (like SAP exports or JSON APIs), add this step before any calculation: wrap raw inputs in VALUE(TRIM(CLEAN(A2))). It strips non-breaking spaces, invisible characters, and coerces text to numbers — which prevents silent rounding before your ROUND() even runs.
For financial reporting where rounding direction matters (e.g., tax calculations must always round up), use ROUNDUP(A2*1.07,2) or ROUNDDOWN(). Don’t assume ROUND() is neutral — it follows “round half to even” (banker’s rounding), so ROUND(2.5,0) = 2, not 3.
Surprising tip: INT() and TRUNC() behave differently with negatives. TRUNC(-2.7,0) = -2; INT(-2.7) = -3. If you’re truncating invoice discounts, use TRUNC() — otherwise you’ll over-discount.
When NOT to Use This
Avoid ROUND() inside array formulas used for conditional sums (SUMIFS, COUNTIFS) unless you’re rounding the criteria range itself. Rounding inside those functions can cause mismatches — e.g., =SUMIFS(C:C,B:B,">="&ROUND(E1,2)) may exclude a value that’s technically ≥ but got truncated mid-calc.
Never round before unit conversions. If you have millimeters in column D and need meters in E2, =ROUND(D2/1000,3) loses precision needed for engineering tolerances. Do the math first, round only at final output.
And skip rounding entirely for scientific or statistical work — standard deviation, regression coefficients, or p-values require full precision. Formatting alone is fine there.
Keyboard Shortcuts
| Action | Shortcut | Notes |
|---|---|---|
| Open Format Cells dialog | Ctrl+1 | Fastest way to adjust decimal places |
| Toggle formula view (F9) | Ctrl+` (backtick) | Shows actual stored values, not display |
| Open Find & Replace | Ctrl+H | Use to force number re-evaluation (see Step 1) |
| Edit formula in cell | F2 | Then press F9 to evaluate part of formula |
| Recalculate all sheets | F9 | Critical after changing ROUND() logic |