Menu

Excel ROUND 函数:四舍五入到小数位和整十

=ROUND(A2,2) 把 A2 中的数字四舍五入到两位小数,=ROUND(A2,0) 四舍五入到最接近的整数。位数为负数时舍入到十位、百位和千位;MROUND 可以舍入到任意倍数。

本页的每张表格都是实时的:修改数字或公式,就会重新计算。

=ROUND(A2,2) 把 A2 中的数字四舍五入到两位小数,所以 3.14159 变成 3.14。第二个参数是要保留的位数:0 舍入到整数,-1 舍入到最接近的十位。

四舍五入到两位小数和整数
B2
ABC
1Value2 decimalsWhole number
23.141593.143
32.6752.683
412.512.513
5-2.5-2.5-3
61234.5671234.571235
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

每一行都对 A 列的值运行两个公式,所以 1234.567 变成 1234.57 和 1235。把 A2 改成另一个数字,两列都会跟着变化。

ROUND 语法

=ROUND(number, num_digits)
  • number 是要舍入的值:一个数字、一个单元格,或像 =ROUND(B2*C2,2) 这样的整个公式。
  • num_digits 指定舍入的位置。正数表示小数点后的位数,0 舍入到整数,负数表示小数点前的位数。

ROUND 只看被舍去的第一位数字。如果这一位是 5 或更大,保留部分就进一;否则保持不变。所以 =ROUND(2.675,2) 得到 2.68,=ROUND(2.674,2) 得到 2.67。

舍入到十位、百位或千位

num_digits 为负数时,在小数点左侧舍入。用这种方法可以把报表中的 1234.567 变成 1230、1200 或 1000。

负的位数舍入到十位、百位、千位
B5
ABCD
1num_digitsResultNumber
221234.571234.567
311234.6
401235
5-11230
6-21200
7-31000
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

点击 B5:它是 =ROUND($D$2,-1),即舍入到十位。现在把 D2 改成 48750。-2 那一行显示 48800,因为被舍去的第一位是 5 时总会进一。

ROUND 与数字格式

把单元格格式设置为 0.00(开始 > 数字 > 减少小数位数)只改变单元格显示的内容。完整的值仍然在那里,读取这个单元格的每个公式用的都是完整值。ROUND 则改变值本身。

这种差别会体现在合计中。下面 A 列中的每个价格都是 1.333,显示为两位小数,所以这一列看起来是 1.33、1.33、1.33,合计却显示 4.00。B 列先对每个价格做了舍入,合计是 3.99。

合计中的格式化值与舍入值
B5
AB
1Formatted onlyRounded
21.331.33
31.331.33
41.331.33
54.003.99
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

两个合计都没有错:4.00 是真实的和 3.999 以两位小数显示的结果,3.99 则是发票上打印出来的数字之和。当舍入后的数字才是真正的数字时(比如每一行实际收取的金额),用 ROUND。如果只想少显示几位小数而不改变任何值,用数字格式。文件 > 选项 > 高级 > “将精度设为所显示的精度”会让 Excel 在整个工作簿中按显示值存储每个值,并且无法撤销;ROUND 是更安全的选择。

Excel 如何舍入 0.5

ROUND 把 5 向远离零的方向舍入:2.5 变成 3,-2.5 变成 -3。看第一个表格的第 3 至 5 行:2.675 得到 2.68,12.5 得到 13,-2.5 得到 -3。

有些工具会把 5 舍入到最接近的偶数(银行家舍入法),于是 2.5 变成 2。Excel 的 ROUND 函数从不这样做,但 VBA 的 Round 函数会,这就解释了为什么宏和单元格的结果会不一致。Google Sheets 的 ROUND 也是向远离零的方向舍入。

对公式结果做舍入

把整个计算放进 ROUND,这样只对最终结果舍入。这里把含 8.25% 税的价格舍入到分。

含税价格,舍入到分
D2
ABCD
1ItemPriceTax rateWith tax
2Lamp$19.998.25%$21.64
3Chair$74.508.25%$80.65
4Desk$129.008.25%$139.64
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

同样的写法适用于平均值、百分比和除法:=ROUND(AVERAGE(B2:B6),1) 得到保留一位小数的平均值。如果想把舍入后的数字作为文本放进一句话中,=TEXT(A2,"0.00") 可以一步完成(见 TEXT 函数)。

用 MROUND 舍入到最接近的 5、0.05 或 15 分钟

=MROUND(number, multiple) 舍入到任意数的最接近倍数。它适用于按 5 分一档的价格、按 12 个一包的数量,或按刻钟计算的时间。

用 MROUND 舍入到倍数
C2
ABC
1ValueMultipleMROUND
212510
313515
42.370.052.35
59:080:159:15
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

MROUND 也会把正好居中的值向远离零的方向舍入,所以 12.5 按 5 的倍数得到 15。数字和倍数的符号必须相同:=MROUND(-12,5) 返回 #NUM!,而 =MROUND(-12,-5) 得到 -10。如果要始终向上或向下舍入到倍数,请看 ROUNDUP 与 ROUNDDOWN 一文中的 CEILING 和 FLOOR。

动手试试:对平均值做舍入

平均分,保留一位小数
E2
ABCDE
1StudentScoreAverage
2Ana78
3Ben91
4Cleo85
5Dan66
6Eve88
7Finn73
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: 在 E2 中显示 B2:B7 中分数的平均值,舍入到一位小数。

提示:把 AVERAGE 放进 ROUND,位数用 1。

该用哪个舍入函数

你想要公式12.345 得到
最接近的值,两位小数=ROUND(A2,2)12.35
最接近的整数=ROUND(A2,0)12
最接近的十位=ROUND(A2,-1)10
始终向上=ROUNDUP(A2,1)12.4
始终向下=ROUNDDOWN(A2,1)12.3
最接近的 0.5 的倍数=MROUND(A2,0.5)12.5
去掉小数=TRUNC(A2) 或 =INT(A2)12

一个常见错误是在长计算的中途舍入一次、最后又舍入一次,这可能让最后一位数字发生变化。只舍入一次,放在你真正要汇报或收费的那一步。

常见问题

Excel 中如何保留两位小数?

用 =ROUND(A2,2)。它会改变存储的值,所以 3.14159 变成 3.14,后续公式使用的也是 3.14。把单元格格式设置为 0.00 只改变显示效果,底层仍是完整的值。

Excel 中如何四舍五入到整数?

用 =ROUND(A2,0):12.5 变成 13,12.4 变成 12。如果要始终向上或始终向下舍入,用 =ROUNDUP(A2,0) 或 =ROUNDDOWN(A2,0)。

Excel 中如何四舍五入到十位、百位或千位?

给 ROUND 一个负的位数:=ROUND(A2,-1) 舍入到十位,=ROUND(A2,-2) 舍入到百位,=ROUND(A2,-3) 舍入到千位。1234.567 分别变成 1230、1200 和 1000。

Excel 中 0.5 是向上还是向下舍入?

ROUND 把 5 向远离零的方向舍入:=ROUND(2.5,0) 是 3,=ROUND(-2.5,0) 是 -3。它不使用银行家舍入法(四舍六入五成双),而 VBA 的 Round 函数用的是这种方法。

Excel 中如何舍入到最接近的 5?

用 =MROUND(A2,5):12 变成 10,13 变成 15。MROUND 可以舍入到任意倍数,例如 =MROUND(A2,0.05) 把价格按 5 分一档舍入。

Coddy 编程语言插图

和 Coddy 一起学编程

开始