ROUND

ROUND rounds a number to a specified number of decimal places (or whole numbers, or nearest tens/hundreds with negative digits). Excel's standard 'round half away from zero' behavior. Sister functions: ROUNDUP and ROUNDDOWN force direction.

Math & StatsBeginner
Purpose
Round a number to a specified number of decimal places, using 'round half away from zero'.
Returns
A single number, rounded to the chosen precision
Syntax
=ROUND(number, num_digits)
Excel version
All versions since Excel 2007 (effectively every modern release)

How ROUND works

ROUND takes a number and a num_digits argument. Positive num_digits means decimal places: ROUND(1234.5678, 2) gives 1234.57. Zero means round to a whole number: ROUND(1234.5678, 0) gives 1235. Negative num_digits rounds to the LEFT of the decimal point: ROUND(12345, -2) gives 12300 (nearest hundred).

Excel uses 'round half away from zero' for the halfway case. 1.5 becomes 2, -1.5 becomes -2. This is the standard arithmetic rounding most people learned in school. Excel does NOT use banker's rounding (round half to even) for ROUND, despite what some forum posts claim - that is a separate concern handled by display-only number formats in certain locales.

ROUND changes the STORED value, not just the display. That distinction matters for financial work: a column rounded to cents with ROUND will sum exactly, but a column merely formatted to 2 decimal places still holds the original precision underneath and can produce penny-off totals. When the math needs to match the paper, ROUND. When it's just for show, use number format.

= ROUND(number, num_digits)

Arguments

ArgumentTypeRequiredDescription
numbernumber✓ RequiredThe value to round. Usually a cell reference, but can be a literal or the output of another formula (SUM, AVERAGE, a price * quantity expression, etc.). Text or error inputs propagate as #VALUE!.
num_digitsnumber✓ RequiredHow many decimal places. Positive = decimals (2 for cents, 4 for basis points). Zero = whole number. Negative = round to the left of the decimal (-1 nearest 10, -2 nearest 100, -3 nearest 1000).

ROUND basic: round financial figures to 2 decimal places

The single most common use of ROUND in business: trim noisy decimal output from a calculation down to a clean dollar-and-cents figure. Prices from a tax calculation, exchange-rate conversions, and percentage allocations all produce long decimals that need to land on cents.

Per-row pattern: write =ROUND(A2, 2) in C2 and drag down. Each row rounds its own value independently. The num_digits is a constant (2), so no $-anchoring needed - the drag adjusts only the A2 reference.

=ROUND(A2, 2)
  • A2 -> the source value (different per row after drag-down)
  • 2 -> two decimal places - the cents precision for currency
  • 1234.5678 to 1234.57 -> the .56 stays, the trailing 78 rounds the 6 up to a 7
  • 1500.005 to 1500.01 -> halfway case rounds AWAY from zero (up here, since positive)
  • Length unchanged on clean values -> ROUND is idempotent - already-rounded values pass through
C2
fx
=ROUND(A2, 2)
ABCDEF
1Raw amountRounded (2dp)
21234.56781234.57← formula
387.432187.43↓ drag down
41500.0051500.01
599.999100.00
60.12340.12
725.55525.56
8-45.678-45.68
98.2018.20
10100.45100.45
110.0050.01
Formula entered in cell C2 and dragged down through C11. Each row rounds its own column-A value to two decimal places.
Each row rounds independently to 2 decimal places. Note how 1500.005 and 0.005 both round UP because halfway cases push away from zero, and 99.999 cascades all the way to 100.00.
When a column of ROUND-ed values must sum to a clean total (invoice line items, tax allocations, percentage splits), use ROUND. Number format only changes display - the underlying value still has its long decimals and the sum can drift by a penny or two.

ROUND to whole numbers: dropping decimals entirely

Set num_digits to 0 and ROUND returns the nearest whole number. The halfway case is where ROUND's behavior stands out: 1.5 becomes 2 and -1.5 becomes -2, because Excel rounds AWAY from zero, not toward the nearest even integer.

Common uses: headcount rollups where fractional people make no sense, unit-count forecasts, and any KPI that needs to read as a whole figure on a dashboard.

=ROUND(A2, 0)
  • A2 -> the source value
  • 0 -> zero decimal places = round to the nearest integer
  • 1.5 to 2 and -1.5 to -2 -> halfway cases push AWAY from zero in both directions
  • 2.4 to 2, 7.8 to 8 -> regular rounding for non-halfway cases
  • 99.49 to 99, 100.51 to 101 -> strictly under .5 rounds toward zero, strictly over .5 rounds away
C2
fx
=ROUND(A2, 0)
ABCDEF
1Raw valueRounded (0dp)
21.52← formula
3-1.5-2↓ drag down
42.42
57.88
6-3.2-3
70.51
8-0.5-1
999.4999
10100.51101
11-42.7-43
Formula entered in cell C2 and dragged down. Watch the halfway rows (1.5 and -1.5): both push away from zero, not toward an even integer.
Note 1.5 to 2 and -1.5 to -2: both halfway cases push AWAY from zero. Compare 0.5 to 1 and -0.5 to -1 for the same pattern at smaller magnitudes. This is NOT banker's rounding (which would give 2 and 0 respectively).

ROUND with negative digits: nearest 10, 100, 1000

Pass a negative num_digits and ROUND moves to the LEFT of the decimal point. -1 rounds to the nearest 10, -2 to the nearest 100, -3 to the nearest 1000, and so on. Useful for executive-summary numbers that should read as round figures, or for cohort bucketing.

Same 'half away from zero' rule applies: 12350 with num_digits = -2 rounds to 12400 (the halfway case rounds away from zero). And the cascade still works: 9950 to the nearest 100 becomes 10000.

=ROUND(A2, -2)
  • -1 -> nearest 10 (drops the ones digit)
  • -2 -> nearest 100 (drops tens and ones)
  • -3 -> nearest 1000 (drops the last three digits)
  • 12345 to 12300 at -2 -> the 45 in the tens-and-ones is under 50, rounds toward zero
  • 67890 to 67900 at -2 -> the 90 in tens-and-ones is over 50, rounds away from zero
C2
fx
=ROUND(A2, -2)
ABCDEFG
1Raw valueNearest 100Nearest 10Nearest 1000
212345formula →123001235012000
367890drag down ↓679006789068000
41582001600
5490500
65556005601000
7-250-300-2500
84999500050005000
91234120012301000
1098769900988010000
1112500125001250013000
Formula entered in cell C2 rounds A2 to the nearest 100. The far-right column shows the same source values rounded to -1 (nearest 10) and -3 (nearest 1000) for comparison.
The first numeric column uses num_digits = -2. The other two show the same raw values at -1 and -3 for comparison. Watch 49 to 0 at -2 (it's under the halfway 50) and 250 to 200 vs -250 to -300 (halfway cases push away from zero in both directions).
For exec-summary tables and dashboards, rounding to -3 (nearest 1000) or -4 (nearest 10k) turns noisy real numbers into clean talking points. Just keep the unrounded values in a hidden helper column so the underlying math stays exact.

ROUND, ROUNDUP, ROUNDDOWN: same shape, different direction

ROUND follows the half-away-from-zero rule. ROUNDUP and ROUNDDOWN ignore the halfway threshold entirely and force direction: ROUNDUP always pushes AWAY from zero (regardless of how close), ROUNDDOWN always pulls TOWARD zero.

All three take the same (number, num_digits) arguments. The choice is purely about the rounding direction. Use ROUNDUP for things like 'how many boxes do I need' (always order extra), and ROUNDDOWN for 'how many full units can I afford' (truncate the partial).

=ROUND(A2, 2)  /  =ROUNDUP(A2, 2)  /  =ROUNDDOWN(A2, 2)
  • ROUND -> half away from zero, otherwise toward the nearer value
  • ROUNDUP -> ALWAYS away from zero, even by 0.001
  • ROUNDDOWN -> ALWAYS toward zero (truncation at the chosen precision)
  • 2.341 -> ROUND=2.34 (under half), UP=2.35 (forced up), DOWN=2.34
  • -3.456 -> ROUND=-3.46 (over half, away), UP=-3.46, DOWN=-3.45 (toward zero is less negative)
C2
fx
=ROUND(A2, 2) / =ROUNDUP(A2, 2) / =ROUNDDOWN(A2, 2)
ABCDEFG
1Raw valueROUNDROUNDUPROUNDDOWN
22.345formula →2.352.352.34
31.231drag down ↓1.231.241.23
49.99910.0010.009.99
5-3.456-3.46-3.46-3.45
60.0050.010.010.00
77.8957.907.907.89
8100.456100.46100.46100.45
950.50150.5050.5150.50
10-8.001-8.00-8.01-8.00
1112.30012.3012.3012.30
Three formulas, one source. C2 has =ROUND(A2, 2), D2 has =ROUNDUP(A2, 2), E2 has =ROUNDDOWN(A2, 2). All three drag down independently.
Each row rounds the same source to 2 decimal places three different ways. When the value is already AT precision (last row, 12.300), all three give the same answer. Otherwise, ROUNDUP and ROUNDDOWN diverge from ROUND on every non-halfway case.
ROUNDUP on negative numbers can surprise people: ROUNDUP(-3.001, 2) = -3.01, not -3.00. 'Up' means away from zero, not visually upward on the number line. If you need 'closer to positive infinity', use CEILING.MATH instead.

Real use: invoice totals that don't drift a penny

The classic accounting headache: a column of line items with computed amounts (price * quantity * tax rate), totaled at the bottom, and the total prints as $1,247.99 but the customer's invoice says $1,248.00. The difference comes from rounding only happening at the display layer - the actual numbers in cells still carry long decimals.

The fix is to ROUND each line at the cents level so the stored values match what prints. Then SUM the rounded values for a total that matches the line items exactly. The order matters: SUM(ROUND-ed values) is what you want, not ROUND(SUM-ed unrounded values), because the former locks each line and the latter still hides drift inside the sum.

=ROUND(B2*C2, 2)
  • B2*C2 -> raw line subtotal (price times quantity, before rounding)
  • ROUND(..., 2) -> lock the line at exactly two decimal places
  • SUM(D2:D9) -> totals the rounded lines, so the total always matches what's printed
  • Unrounded SUM column -> column E shows what happens without ROUND - the underlying decimals leak into the total
  • Drift -> $0.02 difference at the bottom from just 8 lines - on 200 lines this becomes embarrassing
D2
fx
=ROUND(B2*C2, 2)
ABCDEFGH
1ItemPriceQtyLine (rounded)Line (raw)
2Widget A12.995338.9938.985← formula
3Widget B4.575732.0332.025↓ drag down
4Service hours85.5554342.22342.220
5Shipping7.49517.507.495
6Tax adj1.115910.0410.035
7License fee49.9952100.0099.990
8Support pack29.3355146.68146.675
9Discount-3.3356-20.01-20.010
10TOTAL657.45657.415SUM row
Formula in D2 rounds the line subtotal to cents. Column E does the same multiplication without ROUND. Compare the totals at the bottom: the rounded column lands at the printed dollar value, the unrounded column drifts.
The rounded column sums to $657.45, exactly what the eight printed line items add to. The raw column sums to $657.415 - the customer sees $657.42 on a totals-row format but the line items only add to $657.45, a 3-cent ghost the AP team has to explain.
Two patterns to remember. SUM(ROUND(...)) per line - locks each line and the total matches the line items. ROUND(SUM(...)) - one round at the end, fine for an internal summary but the line breakdown won't add up exactly to the rounded total. For invoices, statements, and anything a customer or auditor will tie back, use SUM(ROUND).

Where people go wrong

  1. Confusing ROUND with FLOOR or CEILING

    FLOOR and CEILING (and their .MATH variants) round to a MULTIPLE, not to a number of decimal places. FLOOR(7.3, 0.25) rounds 7.3 down to the nearest 0.25 (= 7.25). ROUND has no concept of a multiple - it only knows decimal places (via num_digits) or positional rounding (via negative num_digits).

    Fix: If you need 'nearest 0.05' or 'nearest 25' or any non-power-of-10 step, use MROUND (nearest), FLOOR.MATH (down), or CEILING.MATH (up). Reserve ROUND for plain decimal-place rounding.
  2. Forgetting num_digits is decimal places, not significant figures

    ROUND(1234.56, 1) = 1234.6, not 1234.56 and not 1200. num_digits counts decimal places, with positive numbers moving right of the decimal point and zero meaning 'whole number'. There's no built-in 'round to N significant figures' in Excel.

    Fix: For sig-figs, use a combined formula: =ROUND(A1, sig_figs - 1 - INT(LOG10(ABS(A1)))). For everyday work, just remember: positive = decimals on the right, negative = positional on the left, zero = integer.
  3. Assuming Excel uses banker's rounding (round half to even)

    Some statistical software (and certain bank systems) round 0.5 to the NEAREST EVEN integer to reduce statistical bias: 0.5 to 0, 1.5 to 2, 2.5 to 2, 3.5 to 4. Excel's ROUND does NOT do this. Halfway cases always go AWAY from zero: 0.5 to 1, 1.5 to 2, 2.5 to 3, 3.5 to 4. People porting code between R and Excel get bitten by this often.

    Fix: If you genuinely need banker's rounding (rare in business; common in scientific work), build it with MROUND and ISEVEN, or use Power Query's Number.Round with the RoundingMode.ToEven argument. Don't expect ROUND alone to do it.
  4. SUM(ROUND(...)) vs ROUND(SUM(...)): the order changes the total

    SUM(ROUND(values, 2)) rounds each line first, then sums - the total matches the printed line items exactly. ROUND(SUM(values), 2) keeps full precision inside the SUM, then rounds the final total once - so the bottom line is correct in isolation, but the printed line items can sum to something a penny or two off from it.

    Fix: For invoices, customer-facing statements, and any breakdown where lines must tie to the total, use SUM(ROUND(...)) - lock each line. For internal aggregate reporting where only the final figure ships, ROUND(SUM(...)) is fine and preserves more precision.

Notes

  • Available in every Excel version since 2007 (effectively all modern releases). Identical behavior across Windows, Mac, and Excel for the web.
  • num_digits is decimal places: positive = right of decimal point, 0 = whole number, negative = nearest 10, 100, 1000 (one zero per unit).
  • ROUND uses 'round half away from zero'. 1.5 to 2, 2.5 to 3, -1.5 to -2, -2.5 to -3. This is NOT banker's rounding (round half to even).
  • ROUNDUP always rounds AWAY from zero. ROUNDDOWN always rounds TOWARD zero. Both ignore the halfway threshold and force direction.
  • For rounding to a custom multiple (nearest 0.05, nearest 25, nearest quarter-hour), use MROUND - ROUND only handles powers of 10.
  • For display-only formatting where the underlying value should stay precise, use Format Cells > Number instead of ROUND. The cell shows fewer decimals but the stored value is untouched.
  • Errors propagate. If number is text, a #VALUE! error, or any other error, ROUND returns #VALUE!. Wrap with IFERROR if the input might be dirty.

Now prove it

ROUND looks like the most boring function in Excel until you watch a customer's invoice total come up two cents off from the line items and an entire AP team spend an hour figuring out why.

It's the function that turns 'the numbers feel close' into 'the numbers match exactly'. Invoice formatting, budget rollups, KPI dashboards, exchange-rate conversions - every place a real human reads a number off the screen needs ROUND somewhere upstream.

These exercises put ROUND in the actual scenarios where it matters: line items that must tie to a total, executive summaries that need to read in round figures, and the ROUND vs ROUNDUP vs ROUNDDOWN choice when the math has a clear directional intent.

Here's the thing about ROUND.

You can know what it does in 30 seconds. num_digits, decimal places, half away from zero. Done.

But knowing to reach for it BEFORE the invoice prints, BEFORE the dashboard ships to the CFO, BEFORE the spreadsheet gets emailed to the customer - that's a reflex you build with practice.

CellSkill builds that reflex with scenarios from real work: tax calculations, percentage allocations, budget rollups, and the kind of multi-line invoice that drifts a penny if you forget the ROUND.

Start practicing ROUND for free →
Free account . No credit card . Cancel anytime
Practice ROUND
ROUND in Excel: Round Numbers to Any Precision · CellSkill