ROUND changes the number itself. =ROUND(A2, 2) takes 23.7825 and returns 23.78, and 23.78 is the value every downstream formula now calculates with. That deliberate kind of rounding is what this page covers: ROUND and its num_digits argument, ROUNDUP and ROUNDDOWN when the direction is a policy, MROUND, CEILING, and FLOOR for multiples like the nearest 5 or the nearest nickel, and TRUNC and INT for plain cutting.
If you landed here because Excel is rounding numbers you never asked it to touch, that is the other rounding problem. It is usually the display, not a function: see how to stop Excel from rounding. The two problems meet at the end of this page, where a column rounded for display stops adding up to its own total.
How does the ROUND function work?
Both arguments are required: number is the value to round, num_digits is the number of digits to round it to. Microsoft’s own example is a cell holding 23.7825, rounded to two decimal places:
| A | B | C | |
|---|---|---|---|
| 1 | Raw value | Rounded | |
| 2 | 23.7825 | 23.78 |
The num_digits argument runs in three modes. Positive keeps that many decimal places, zero rounds to the nearest whole number, and negative rounds to the left of the decimal point:
| Formula | Result | What num_digits did |
|---|---|---|
=ROUND(23.7825, 2) |
23.78 | Kept two decimal places |
=ROUND(23.7825, 0) |
24 | Rounded to the nearest whole number |
=ROUND(23.7825, -1) |
20 | Rounded to the nearest 10 |
The negative mode is how “round to the nearest 100” works: each step below zero moves one place left, so -2 targets hundreds and -3 targets thousands. =ROUND(1284, -2) returns 1300, and Microsoft’s example table rounds 626.3 to the nearest multiple of 1,000 with =ROUND(626.3, -3), returning 1000. If formulas themselves are new territory, the formula basics guide covers the reading order.
What does ROUND do with a 5?
The ROUND function page shows the tie case only in its example table; the rule in words lives on Microsoft’s rounding overview: “If the fractional part is 0.5 or greater, the number is rounded up. If the fractional part is less than 0.5, the number is rounded down.” For rounding whole numbers, Microsoft describes a similar rule, with multiples of 5 standing in for 0.5.
The function page puts numbers on it: =ROUND(2.15, 1) returns 2.2, while =ROUND(2.149, 1) returns 2.1. Negative numbers round on their size, not their position on the number line: Excel rounds the number as if it were positive and puts the minus sign back afterward, so =ROUND(-1.475, 2) returns -1.48.
ROUNDUP and ROUNDDOWN: choosing the direction
Both functions take the same two arguments as ROUND, and both ignore how close the next value is. ROUNDUP always moves away from zero; ROUNDDOWN always moves toward zero. =ROUNDUP(3.14159, 3) returns 3.142 and =ROUNDDOWN(3.14159, 3) returns 3.141, whatever the fourth decimal happens to be. The num_digits modes carry over unchanged, including negative: =ROUNDDOWN(31415.92654, -2) returns 31400.
On negative numbers, read the definitions literally:
Reach for the pair when the direction is policy rather than arithmetic: billable time that always rounds up to the next unit, a discount that never rounds in the customer’s favor. When either function appears in an inherited workbook, someone chose that direction on purpose; check the intent before swapping in ROUND.
How do I round to the nearest 5, 100, or another multiple?
The num_digits argument thinks in powers of ten. For any other step, Microsoft’s ROUND page points at MROUND:
MROUND returns the number rounded to the nearest multiple you name: =MROUND(10, 3) returns 9, =MROUND(1.3, 0.2) returns 1.4, and the everyday case is billing or scheduling in 5s:
| A | B | |
|---|---|---|
| 1 | Minutes | Billed (nearest 5) |
| 2 | 47 | 45 |
| 3 | 33 | 35 |
| 4 | 61 | 60 |
Microsoft’s MROUND page pins the tipping point exactly: “MROUND rounds up, away from zero, if the remainder of dividing number by multiple is greater than or equal to half the value of multiple.”
Two cautions, both documented on that page:
- Signs must match. The number and the multiple need the same sign:
=MROUND(5, -2)returns the#NUM!error. If a#NUM!from a rounding formula is what brought you here, the whole error vocabulary is in every Excel error explained. - Decimal multiples have a blind spot. Microsoft lists it as a known limitation: with a decimal multiple, the rounding direction for values exactly at the midpoint is undefined. Its own examples land both ways:
=MROUND(6.05, 0.1)returns 6.0 while=MROUND(7.05, 0.1)returns 7.1. Do not build to-the-cent logic on midpoint behavior.
For the nearest 100 on a positive value, both routes work: =MROUND(A2, 100), or =ROUND(A2, -2) from the previous section. On a negative value the ROUND route works as is; MROUND needs the multiple to be negative as well, per the sign rule above.
CEILING and FLOOR round to a multiple with a forced direction. CEILING pushes a number up, away from zero, until it reaches a multiple of its significance argument; Microsoft’s example is pricing without pennies, where =CEILING(4.42, 0.05) rounds up to the next nickel, 4.45. A number already sitting on an exact multiple is returned unchanged. FLOOR is the counterpart, rounding down to the nearest multiple, and it returns the #NUM! error when the number is positive and the significance negative.
Round to 2 decimal places: ROUND or a number format?
There are two ways to make 23.7825 read as 23.78, and they are different operations:
- The format way. A two-decimal number format, or the Decrease Decimal command, changes only what the cell shows; the stored value stays at full precision, and every formula that references the cell keeps calculating with 23.7825.
- The ROUND way.
=ROUND(A2, 2)produces a new value, 23.78, and whatever uses that result calculates with 23.78.
Neither is wrong; they answer different questions. If the cell only needs to look tidy, format it. If the figure feeds other calculations and the printed numbers must tie out, round the value at an agreed point in the calculation. The display side of the story, including why Excel shows fewer decimals than you typed and how to undo it, is covered in how to stop Excel from rounding.
TRUNC and INT: cutting decimals off instead of rounding
TRUNC does not round at all. It truncates: the decimals are removed and what is left is returned, so =TRUNC(8.9) returns 8 even though 9 is nearer. Its num_digits argument is optional and defaults to 0; =TRUNC(8.98, 1) returns 8.9.
INT looks similar but is defined differently: it rounds down to the nearest integer. On positive numbers the two agree; on negative numbers they part ways, because TRUNC cuts the decimals off and keeps what is left, while INT drops to the next integer below:
| Formula | Result |
|---|---|
=TRUNC(8.9) |
8 |
=INT(8.9) |
8 |
=TRUNC(-8.9) |
-8 |
=INT(-8.9) |
-9 |
Why do rounded figures stop adding up?
Most rounding complaints in shared workbooks trace back to one of three patterns. The worst of them involves no rounding function at all.
1. The data was rounded for display only
A column formatted to two decimals can visibly fail to tie to its own total, with every stored value correct:
| A | B | |
|---|---|---|
| 1 | Line | Amount |
| 2 | Materials | 2.01 |
| 3 | Labor | 2.01 |
| 4 | Total | 4.03 |
The stored arithmetic is exact; only the displayed figures disagree. The fix is a choice: show enough decimals for the printed figures to reconcile, or apply ROUND so the stored values match what is shown. The full display story belongs to the stop-rounding guide; the reviewer’s problem is that nothing on the sheet looks wrong.
2. Rounding happened at more than one level
Round the same figures at two levels and the levels can disagree. Using the grid above: round each 2.014 line in the data and the lines become 2.01 + 2.01 = 4.02, but round the raw total instead and it becomes 4.03. Both policies are defensible; holding both at once produces a report that argues with itself by a cent. Pick one place to round, usually once, at the last step before the number is presented.
3. ROUND sits in the wrong place in the formula
=ROUND(A2, 2)*B2 rounds an input and then multiplies; =ROUND(A2*B2, 2) multiplies and then rounds the result. With 2.347 in A2 and 3 in B2, the first returns 2.35 × 3 = 7.05 and the second returns 7.04, because 2.347 × 3 = 7.041. One cent per row, silently, and which one is correct depends on whether the unit price or the line total is the figure your process treats as real.
The short version
- ROUND changes the stored value:
=ROUND(A2, 2)for two decimal places,0for whole numbers, negative num_digits for tens, hundreds, and thousands. - At the halfway point, Microsoft’s documented rule sends a fractional part of 0.5 or more up; negatives round on their absolute value, so
=ROUND(-1.475, 2)gives -1.48. - ROUNDUP and ROUNDDOWN force the direction, away from zero and toward zero. MROUND handles arbitrary multiples like the nearest 5, with a
#NUM!when the signs of number and multiple differ; CEILING and FLOOR are the directional versions for multiples; TRUNC and INT cut rather than round. - A number format that shows two decimals rounds nothing: the stored value keeps feeding formulas at full precision, and displayed columns can stop adding up to their displayed totals. Deliberate rounding is ROUND; accidental rounding is covered in how to stop Excel from rounding.
- And when a total moves after someone edits a shared workbook, compare the two versions to see whether the data changed or only the rounding did.