ROUND Function in Excel — The Full Guide (Bust the Banker's Rounding Myth) 2026 | Sheets & Cells
Math · Rounding Family

ROUND Function in Excel

Rounds a number to a specified number of decimal places. Cents for invoices, whole dollars for reports, nearest $100 for planning — all one function. Also the star of the most stubborn Excel misconception on the internet: no, Excel does not use banker's rounding.

Universal Support
ROUND has existed in Excel since Excel 1.0 (1985). Works identically in Excel 2003, 2007, 2010, 2013, 2016, 2019, 2021, Microsoft 365, Excel Online, Excel Mobile, Google Sheets, and LibreOffice Calc. No compatibility caveats.

⚠ The Banker's Rounding Myth — Busted

You've read that "Excel uses banker's rounding" somewhere. It's the most-repeated misconception about ROUND. Here's the truth, tested.

The false claim you'll see everywhere
"Excel's ROUND function uses banker's rounding — 0.5 rounds to the nearest even number to reduce bias over many calculations. So ROUND(2.5) = 2 and ROUND(3.5) = 4."

What banker's rounding WOULD do

=ROUND(2.5, 0)
2
=ROUND(3.5, 0)
4

What Excel's ROUND actually does

=ROUND(2.5, 0)
3
=ROUND(3.5, 0)
4
The truth: Excel's ROUND uses round-half-away-from-zero. Positive 0.5 rounds UP, negative 0.5 rounds DOWN. So ROUND(2.5, 0) = 3, ROUND(-2.5, 0) = -3. Consistent, predictable, standard commercial rounding. VBA's Application.Round() is a separate function and does use banker's rounding, which is where the confusion originates. Worksheet ROUND has never behaved that way.

Quick Answer

ROUND rounds a number to the number of decimal places you specify. Uses round-half-away-from-zero: 0.5 rounds up, -0.5 rounds down. Negative decimal places round to the left of the decimal point (nearest 10, 100, 1000...).

=ROUND(number, num_digits)

Example: =ROUND(24.999, 2) returns 25.00. =ROUND(12345.67, -2) returns 12300. =ROUND(47.83/5, 0) * 5 returns 50 — rounding to the nearest $5.

💰 Rounding Family Practice Workbook

All 5 ROUND examples plus ROUNDUP and ROUNDDOWN patterns on 18 realistic invoice line items.

↓ Download .xlsx (Free)
Filerounding-family-2026.xlsx
Size~23 KB
Sheets6 tabs
CoversROUND · ROUNDUP · ROUNDDOWN
1985
Introduced
2
Arguments
100%
Compat
150+
Templates Use It

Syntax

ROUND takes exactly two arguments — the number to round and the number of decimal places.

ArgumentTypeDescription
number Required The number, cell reference, or formula result to be rounded.
num_digits Required How many decimal places to keep. 2 = cents. 0 = whole number. -1 = nearest 10. -2 = nearest 100. Range: about -15 to +15.

Direction rule: ROUND uses round-half-away-from-zero. Positive halves round up, negative halves round down. For values that clearly aren't halfway (e.g. 2.3 or 2.7), standard nearest-number rounding applies.

5 Worked Examples

Example 01

Round tax amount to cents (2 decimal places)

The most common ROUND use — after multiplying a subtotal by a tax rate, the raw result usually has 4+ decimal places. Money doesn't work that way; round to cents.

SubtotalTax RateTax RawFormulaRounded
$74.977.25%$5.435325=ROUND(C2, 2)$5.44
$129.3257.25%$9.3760625=ROUND(C3, 2)$9.38
$149.998.25%$12.374175=ROUND(C4, 2)$12.37

Raw tax has fractional cents that don't exist in the real world. ROUND to 2 gives you the value you can actually invoice.

Example 02

The 0.5 tie-breaking rule (half rounds AWAY from zero)

When a number sits exactly on the "0.5" boundary, ROUND breaks the tie by moving away from zero — up for positives, down for negatives. Consistent and predictable.

InputFormulaResultRule
2.5=ROUND(2.5, 0)3positive 0.5 → up
3.5=ROUND(3.5, 0)4positive 0.5 → up
-2.5=ROUND(-2.5, 0)-3negative 0.5 → down (more negative)
0.125=ROUND(0.125, 2)0.130.5 at cents → up

Some binary-float quirks aside (0.135 may not round the way you expect due to floating-point representation), the rule holds for real-world values.

Example 03

Negative digits — round to nearest 10, 100, or 1000

Excel's underused superpower. The num_digits argument can be negative, which rounds to positions LEFT of the decimal point.

num_digitsFormulaResultRounds to nearest
2=ROUND(12345.67, 2)$12,345.67cent
0=ROUND(12345.67, 0)$12,346dollar
-1=ROUND(12345.67, -1)$12,350$10
-2=ROUND(12345.67, -2)$12,300$100
-3=ROUND(12345.67, -3)$12,000$1,000

Great for executive summaries, budget planning, or any "round numbers only" report — you don't need TEXT formatting tricks, just negative num_digits.

Example 04

Round to nearest $5 (or $25, $100, any multiple)

The pattern: divide by the multiple, ROUND to 0 places, multiply back. This works for any denomination — pricing tiers, salary bands, inventory quantities.

=ROUND(A2 / 5, 0) * 5 ← nearest $5 =ROUND(A2 / 25, 0) * 25 ← nearest $25 =ROUND(A2 / 50, 0) * 50 ← nearest $50
ValueNearest $5Nearest $25Nearest $50
$47.83$50$50$50
$128.45$130$125$150
$383.17$385$375$400

For those who prefer a dedicated function, MROUND(A2, 5) does the same thing in one call. See the MROUND comparison below.

Example 05

Format vs ROUND — the invoice-total drift bug

Cell formatting only changes what's displayed. The underlying value still carries all decimals, so sums drift by pennies. ROUND changes the actual stored value. This is the single most common source of "why doesn't my invoice total match?" bugs.

ApproachUnderlying valuesSUM displays asTrue sum
Format only (2 dp)5.435325 + 9.3760625 + ...$461.94$461.9361925
ROUND each row first5.44 + 9.38 + ...$461.93$461.93

The difference: across just 18 rows. Scale to 500 invoices and drift becomes hundreds of dollars. Fix: =SUMPRODUCT(ROUND(A2:A100, 2)) — rounds each row before summing. Or ROUND at the source, then SUM normally. Never rely on cell formatting for money math.

Interactive Playground

Input Values
A2 → 1234.567
A3 → 2.5
A4 → -2.5
A5 → 47.83
A6 → 12345.67
Formula & Result
=ROUND(A2, 2)
1234.57
=ROUND(A3, 0)
3
=ROUND(A4, 0)
-3
=ROUND(A5/5, 0) * 5
50
=ROUND(A6, -2)
12300

The Rounding Family

Three functions for three different needs. Pick by what "round" means for your use case.

The num_digits Spectrum — Decoded

One argument controls precision across 8+ orders of magnitude. The full range from cents to millions.

num_digitsRounds to nearestFormula exampleInputResult
40.0001 (ten-thousandth)=ROUND(x, 4)12345.678901212345.6789
30.001 (thousandth)=ROUND(x, 3)12345.678912345.679
20.01 (cent)=ROUND(x, 2)12345.678912345.68
10.1 (tenth)=ROUND(x, 1)12345.678912345.7
01 (whole)=ROUND(x, 0)12345.678912346
-110=ROUND(x, -1)12345.678912350
-2100=ROUND(x, -2)12345.678912300
-31,000=ROUND(x, -3)12345.678912000
-410,000=ROUND(x, -4)12345.678910000

ROUND vs MROUND — Two Ways to Round to a Multiple

ROUND rounds to a decimal place. MROUND rounds to any multiple. Different tools for different jobs.

GoalWith ROUNDWith MROUNDResult
Round 47.83 to nearest $5=ROUND(47.83/5, 0)*5=MROUND(47.83, 5)50
Round 128.45 to nearest $25=ROUND(128.45/25, 0)*25=MROUND(128.45, 25)125
Round 383.17 to nearest $50=ROUND(383.17/50, 0)*50=MROUND(383.17, 50)400
Round 2:47 PM to nearest 15 min(complex time math)=MROUND(A2, "0:15")2:45 PM

MROUND is cleaner but has one quirk — sign of number and multiple must match, or MROUND returns #NUM!. ROUND-divide-multiply works with any sign combination.

Common Errors

SymptomCauseFix
Invoice total off by cents You formatted cells to show 2 decimals but the underlying values still carry 4+. SUM adds the raw values, not the displayed ones. ROUND each value at the source, or use =SUMPRODUCT(ROUND(range, 2)). Never trust display formatting for money math.
Unexpected 0.5 result Floating-point representation. 0.135 doesn't exist exactly in binary — it's stored as ~0.1349999. ROUND respects the actual stored value. Rare edge case. If it matters, use =ROUND(A2 + 0.0000001, 2) to nudge past the boundary, or switch to fixed-point arithmetic upstream.
#VALUE! The number argument is text that can't convert (e.g. =ROUND("hello", 2)). Or num_digits is text. Ensure both arguments are numeric. Wrap with VALUE() if a "number" is stored as text (common with imports).
#NUM! num_digits is outside Excel's supported range (roughly -15 to +15). Clamp num_digits. If you needed higher precision, Excel isn't the right tool — floating-point can't represent it anyway.
Result seems wrong for 0.5 You believed the "Excel uses banker's rounding" myth. It doesn't. It rounds half AWAY from zero. Confirm your understanding: =ROUND(2.5, 0) = 3, always. If you truly need banker's rounding, use =EVEN(A2)/2-style tricks or the VBA function.
Bulk sum still drifts after ROUND You ROUNDed the SUM instead of ROUNDing each row. Move ROUND inside each row's formula, not around the SUM. Or use SUMPRODUCT(ROUND(range, 2)) to round-then-sum in one step.

💰 Practice on Real Invoice Data

18 line items with fractional tax cents. Every ROUND pattern plus the drift-bug demo, side-by-side with ROUNDUP and ROUNDDOWN.

↓ Get Workbook

Related Functions

Compatibility

PlatformSupportedVersionNotes
Excel for Windows1.0+ (1985)All versions
Excel for Mac1.0+All versions
Microsoft 365CurrentFull support
Excel OnlineCurrentFull support
Excel Mobile (iOS/Android)CurrentFull support
Google SheetsAllIdentical behavior
LibreOffice CalcAllIdentical behavior

How to Use ROUND — Step by Step

  1. Click an empty cell where you want the rounded value to appear. Typically the column right of your raw value.
  2. Type =ROUND( — Excel auto-suggests as soon as you type "RO".
  3. Click the source cell or type its reference, then add a comma and the number of decimal places: =ROUND(A2, 2) for cents.
  4. Close with ) and press Enter.
  5. Fill down the column. Grab the fill handle or double-click to auto-fill for the whole data range.
  6. For a rounded SUM, don't round the SUM — round each value first: =SUMPRODUCT(ROUND(A2:A100, 2)). This eliminates the invoice-drift bug in one formula.
  7. For nearest 10/100/1000, use negative num_digits: =ROUND(A2, -2) rounds to nearest hundred. For nearest $5/$25/$50, use the divide-round-multiply pattern or MROUND.

Explore More Functions

💰 One More Time — Grab the Workbook

Every ROUND pattern plus ROUNDUP and ROUNDDOWN, on 18 real invoice rows. Free, one file, six sheets.

↓ Download Free

Frequently Asked Questions

Does Excel use banker's rounding?

No. Excel's worksheet ROUND function uses round-half-away-from-zero. ROUND(2.5, 0) = 3, ROUND(-2.5, 0) = -3. Not the "round to nearest even" behavior of banker's rounding.

The confusion comes from VBA. Application.Round() in VBA does use banker's rounding — that's a separate function. Worksheet ROUND has never behaved that way, and never will (changing it would break decades of spreadsheets).

How do I round to the nearest 5, 25, or 100?

Two options. Pattern 1: =ROUND(A2/5, 0) * 5 — divide by the multiple, round to 0 places, multiply back. Works for any denomination. Pattern 2: =MROUND(A2, 5) — dedicated function, one call, cleaner.

MROUND has a quirk: sign of number and multiple must match, or it returns #NUM!. The ROUND-divide-multiply pattern always works.

Why does my invoice total drift by pennies?

Because you formatted cells to show 2 decimals instead of ROUNDing the actual values. Formatting only changes what you see; the raw stored value still has 4+ decimal places. SUM adds the raw values, not the displayed ones.

Fix: replace formatting-only cells with actual ROUND formulas at the source. Or, for a single-formula solution: =SUMPRODUCT(ROUND(A2:A100, 2)) rounds each value before summing. This is the correct pattern for any invoice, payroll, or tax total.

What does a negative num_digits do?

Rounds to the LEFT of the decimal point. -1 rounds to nearest 10, -2 to nearest 100, -3 to nearest 1,000, and so on.

Example: =ROUND(12345.67, -2) returns 12300. Great for executive summaries, budget planning, or any "round numbers only" report.

What's the difference between ROUND and MROUND?

ROUND rounds to a decimal place (positive: right of decimal, negative: left of decimal). MROUND rounds to any multiple — like 5, 25, 0.05, or even a time like "0:15".

They overlap for rounding to powers of 10: =ROUND(A2, -1) and =MROUND(A2, 10) give the same result. For anything else (rounding to $5, 15-minute intervals, etc.), MROUND is more direct.

What's the difference between ROUND and TEXT?

ROUND changes the actual numeric value. TEXT formats a number as a string for display without changing the underlying value.

Use ROUND when you're going to do math with the result. Use TEXT when you're building a display string (e.g. for a report title or concatenated label). =TEXT(A2, "$#,##0.00") returns the text "$1,234.57" — you can't SUM that.

Can I nest ROUND inside other formulas?

Yes, and it's often the right approach. =ROUND(A2*B2*1.0825, 2) multiplies then rounds in one step. This is preferable to two-step approaches because it avoids storing intermediate raw values.

For SUMs across many rows, use =SUMPRODUCT(ROUND(range, 2)) — the ROUND happens element-by-element inside the array, then SUMPRODUCT totals the rounded values.

What if num_digits is a decimal, like 1.7?

Excel truncates it to an integer before using it. So =ROUND(x, 1.7) behaves identically to =ROUND(x, 1). Excel doesn't error, but the fractional part is ignored.

Best practice: always pass an integer to keep intent explicit. If your num_digits comes from a formula, wrap it in INT() to make the truncation visible.

Does ROUND work on dates and times?

Yes — Excel stores dates and times as numbers (whole numbers for dates, fractions of a day for times). ROUND treats them as numbers.

=ROUND(NOW(), 0) returns midnight of today (drops the time portion). =ROUND(A2, 4) where A2 is a time rounds to the nearest 0.0001 of a day (~8.6 seconds). For meaningful time rounding, use MROUND with a time literal: =MROUND(A2, "0:15") rounds to nearest 15 minutes.

Why does ROUND(0.135, 2) return 0.13 not 0.14?

Floating-point representation. The value 0.135 can't be stored exactly in binary — it's actually stored as ~0.13499999999999998. Since that's less than 0.135 by a hair, ROUND correctly rounds it down to 0.13.

This is a hardware-level quirk affecting every language and tool that uses IEEE 754 floats (Excel, Python, JavaScript, C, everything). Rare in real workflows unless you're generating exact half-boundary test cases. If you truly need it: =ROUND(A2 + 0.0000001, 2).

Should I use ROUND, ROUNDUP, or ROUNDDOWN?

ROUND for standard commercial rounding — invoices, reports, most everyday math. ROUNDUP when you must never under-count — shipping tiers, box counts, time billing. ROUNDDOWN when you must never over-count — budget items, safe inventory counts, tax deductions.

Rule of thumb: if under-counting would cost you money → ROUNDUP. If over-counting would cost you money → ROUNDDOWN. Everything else → ROUND.

Does ROUND affect performance in large workbooks?

Barely. ROUND is a fast, non-volatile function. Excel can evaluate hundreds of thousands of ROUND calls per second. In workbooks with 1M+ rows, the recalc cost of ROUND is dwarfed by the cost of the actual arithmetic feeding into it.

If a workbook is slow, ROUND is almost never the cause. Look at volatile functions (NOW, TODAY, RAND), massive VLOOKUPs, or array formulas over huge ranges instead.

Never Ship a Drifting Invoice Total Again

Excel Wizard writes ROUND patterns — cent-precise invoicing, executive-summary rounding, nearest-multiple pricing — from a plain-English prompt. Automatically detects the format-vs-ROUND bug and fixes it, right inside Excel.

Get Excel Wizard Add-in →