做表格时,你是不是经常遇到这些问题:
计算结果是 12.345678,只想显示两位小数,但一求和又变回精确值
想按“保留两位小数”进行汇总,但 Excel 默认按实际值算,结果和预期差几分钱
想把 12.28 向上取整到 13,不知道用什么函数
今天讲 Excel 保留小数位数的 4 种方法:显示舍入、四舍五入、向上/向下取整,覆盖所有场景。
一、显示舍入 vs 真正舍入:先搞懂区别
这是最容易被忽略、也最容易出问题的地方。
案例:A1=12.345,设置显示两位小数 → 单元格显示 12.35,但实际值仍是 12.345。求和时按实际值累加,结果为 100.005,而不是你看到的 100.00,导致报表出现 0.01 的差异。
什么时候用哪种?
只用于展示(打印、汇报)→ 显示舍入就行
用于后续计算 → 必须用函数真正舍入
二、方法一:显示舍入(修改显示,不改数值)
操作
选中单元格 → Ctrl+1 →「数字」→ 选“数值” → 设置小数位数
两个隐藏问题
“分钱”对不上:Excel 默认按实际值计算。显示 12.35+12.35=24.70,但实际 12.345+12.345=24.69,报表差异 0.01。
单元格内明明显示两位小数,复制到记事本却是完整的 12.345678
解决方案:勾选「文件」→「选项」→「高级」→“将精度设为所显示的精度”,但这样做会永久改变数据,不建议用于正式报表。
(WPS: 「文件」→「选项」→「重新计算」,勾选“以显示精度为准”,但同样不建议在正式报表中使用)
三、方法二:ROUND 函数(四舍五入,最常用)
语法
=ROUND(数字, 保留小数位数)
案例
| | |
|---|
=ROUND(12.345, 2) | | |
=ROUND(12.344, 2) | | |
=ROUND(12345, -2) | | |
=ROUND(12345, -3) | | |
公式转数值:ROUND 处理后仍是公式,结果会随源数据变化。如需固定结果,复制 → 选择性粘贴 → 数值。
四、方法三:ROUNDUP / ROUNDDOWN(强制向上/向下取整)
语法
=ROUNDUP(数字, 位数) — 向上舍入(远离零)=ROUNDDOWN(数字, 位数) — 向下舍入(靠近零)
案例
| | |
|---|
=ROUNDUP(12.341, 2) | | |
=ROUNDUP(12.349, 1) | | |
=ROUNDUP(123, -1) | | |
=ROUNDUP(12.341, 0) | | |
=ROUNDDOWN(12.349, 2) | | |
=ROUNDDOWN(12.99, 0) | | |
五、四种取整方法对比
| | |
|---|
| =ROUND(12.345, 2) | |
| =ROUNDUP(12.341, 2) | |
| =ROUNDDOWN(12.349, 2) | |
| =INT(12.345) | |
| =ROUND(12.345, 0) | |
写在最后
记住三个核心函数,覆盖 90% 的小数处理场景:
收藏这篇,下次遇到小数保留问题,直接翻出来用。
觉得有用,点个“在看”吧~—— 每天10秒,学一个Excel小技巧。