Excel公式求整数与尾数处理方法
讲清 excel公式求整数的常用办法:ROUND、INT、TRUNC、MROUND 各自怎么取整,负数和 .5 时结果有什么不同,以及怎样把末尾数字设为 0 或 5,并附逐项核对方法。
在 Excel 里算出一串带小数的结果,却需要整数,这种情况很常见:人数分配、包装箱数、报销凑整、价格抹零。不少人下意识是把单元格格式改成“数值、0 位小数”,画面上确实变成了整数,但单元格里的值没有变。后面求和或引用时,它仍然带着小数参与计算,合计会和看到的数字对不上。想让数值本身变成整数,需要用公式。
这篇讲 excel 公式求整数的几种办法,以及怎样把末尾数字设为 0 或 5。读完你能判断该用哪个函数,写出对应公式,并检查结果是否真的按预期变化。
Excel 公式求整数,怎么选 ROUND、INT 还是 TRUNC?一句话结论
先看你要的是“四舍五入”“一律向下”还是“直接去掉小数”。标准四舍五入用 ROUND(数值,0),向下取整用 INT,直接截去小数用 TRUNC,要求取某个倍数时用 MROUND。下面的表格给出常见情况的选择。
| 你的情况 | 推荐做法 | 原因 |
|---|---|---|
| 按常规规则四舍五入,如 2.5 变成 3 | =ROUND(数值,0) | 标准四舍五入,正负数对称处理 |
| 只要正数的整数部分,如件数、台数 | =INT(数值) 或 =TRUNC(数值) | 正数结果相同,负数结果不同 |
| 不管小数多少,直接去掉小数 | =TRUNC(数值) | 朝零的方向截去小数,正负数规则一致 |
| 要求结果是 5 的倍数,如按 5 个单位凑整 | =MROUND(数值,5) | 取离它最近的指定倍数 |
| 小数部分只要有就进位 | =ROUNDUP(数值,0) | 远离零的方向进位 |
开始之前:先确认这几点
动手写公式前,先判断下面几项,否则结果容易出乎意料。
- 数据是不是真正的数字。 从网页或其他系统复制来的数字,有时是文本格式,看起来是 12.6,实际不参与计算。文本数字通常靠左对齐,公式可能返回错误,或者原样不变。先确认再取整。
- 数据里有没有负数。 INT 和 TRUNC 对正数结果一样,对负数却不同。INT(-3.7) 得到 -4,TRUNC(-3.7) 得到 -3。财务差额、温度、盈亏这类数据要特别留意。
- 你要的是显示还是数值。 设置小数位数只影响显示,不改变值。需要参与后续计算、需要导出给别人用的,应当用公式生成新值。
- 取整到哪一位。 个位用 ROUND(数值,0),十位用 ROUND(数值,-1),5 的倍数用 MROUND(数值,5)。位数参数决定结果的精度。
- 恰好是 .5 的数。 ROUND 对 .5 的处理是远离零的方向进位,2.5 得 3,-2.5 得 -3。计算过程中产生的小数,有时会因浮点误差略偏离 .5,结果可能与手算不同。
在 Excel 中把一列数据统一取整的步骤
下面以原始数据在 B 列、从第 2 行开始为例,操作步骤适用于任何一列数据。
- 在数据右侧留出一列空白列作为结果列,保留原始数据,方便对比和回退。
- 确定规则:四舍五入、向下取整、直接截去小数,还是取倍数。
- 在结果列的第一行输入对应公式,例如原数据在 B2,就输入 =ROUND(B2,0)。
- 按回车确认,看结果是否符合你对这一行的预期。
- 拖动单元格右下角的填充柄向下复制公式,覆盖整列数据。
- 如果要用结果替换原数据,先选中结果列并复制,再以“数值”形式粘贴回原位置,避免删除原数据后公式引用失效。
- 对照原数据抽查几行,重点看恰好是 .5 的数和负数。
把末尾数字设为 0 或 5 的公式写法
有些场景不需要普通取整,而是要求末尾数字固定,比如编号、代码、报价凑到整十或尾数为 5。下面几种写法可以直接套用。
- 末位设为 0,按四舍五入到十位:=ROUND(B2,-1)。例如 137 得到 140,132 得到 130。位数写 -1 表示对十位取整。
- 末位设为 0,直接向下取到十位:=ROUNDDOWN(B2,-1)。例如 137 得到 130,139 也得到 130。
- 末位设为 0 或 5,取离它最近的 5 的倍数:=MROUND(B2,5)。例如 137 得到 135,138 得到 140。结果一定以 0 或 5 结尾。
- 末位统一设为 5,保留十位:=ROUNDDOWN(B2,-1)+5。例如 137 得到 135,132 也得到 135。这种写法会改变数值大小,适合编号或代码,不适合真实金额。
注意:末位设为 5 的写法会改变数据的实际大小。用于正式金额或统计时,先确认这样处理是否符合业务规则,并保留原始数据以便追溯。
📊 核心对比
下表用 2.5 和 -2.5 两个输入,对比几个常用函数的结果,便于一眼看出差别。
| 函数 | 输入 2.5 的结果 | 输入 -2.5 的结果 | 说明 |
|---|---|---|---|
| ROUND(x,0) | 3 | -3 | 标准四舍五入,.5 远离零进位 |
| INT(x) | 2 | -3 | 向下取整,朝负无穷方向取整 |
| TRUNC(x) | 2 | -2 | 直接截去小数,朝零的方向 |
MROUND 的参数要求倍数与数值符号一致。例如 MROUND(-7,5) 会返回错误,改用 MROUND(-7,-5) 才能得到 -5。
🎯 哪种做法适合你?
- 做发票金额、报价凑整:通常用 ROUND,按照财务或合同约定的位数进行四舍五入,并与对方确认凑整规则。
- 统计件数、人数等只取整数部分的数据:数据全为正数时,INT 和 TRUNC 结果相同,选哪个都可以;数据含负数时,先确定负数应当朝哪个方向取整。
- 做编号、代码、尾数统一的数据:用 MROUND 或 ROUNDDOWN 配合固定数字,并在结果列旁边注明规则,方便别人理解。
- 需要进位而不是四舍五入:用 ROUNDUP,例如按箱计算需要的箱数,有余数就多算一箱。
做完后逐项核对
取整完成后,逐项检查下面几点,确认结果没有偏差。
| 检查项 | 怎么看 | 有问题怎么办 |
|---|---|---|
| 结果是否都是整数 | 对结果列使用 =MOD(结果单元格,1),返回 0 表示整数 | 如果返回非 0,检查公式是否引用了正确的单元格,或是否漏了填充 |
| 负数是否朝预期方向取整 | 挑出几行负数,手算对照 | 如果 INT 与 TRUNC 结果不对,换成符合规则的函数 |
| 恰好是 .5 的数 | 找出小数部分为 .5 的行,看进位是否符合约定 | 如果怀疑浮点误差,可先用 ROUND(数值,6) 处理,再套用取整公式 |
| 文本数字是否被识别 | 看结果是否返回错误,或与原数据相同 | 将文本数字转换为数值,再重新计算 |
| 合计是否一致 | 对比原数据合计与结果合计的差额 | 差额来自取整本身属于正常,若差额异常,检查是否有遗漏行 |
❓ 常见问题(FAQ)
1. 把单元格格式设成 0 位小数,为什么求和还是有小数差?
因为显示格式只改变外观,单元格里的值仍然保留小数。求和时用的是真实值,所以合计会与显示的整数有出入。用 ROUND 或 TRUNC 生成新的整数值,再求和,结果才一致。
2. ROUND(2.5,0) 得 3,为什么有时 .5 的数字结果不对?
ROUND 对 .5 远离零进位,这一点是固定的。出现偏差多半是因为数字经过计算后带有极小的浮点误差,看上去是 2.5,实际是 2.4999999。先用 ROUND(数值,6) 把误差去掉,再对结果取整,通常能得到预期值。
3. 能不能用 INT 代替 TRUNC?
数据全为正数时可以,结果相同。只要数据里有负数,两者就会不同:INT 朝负无穷方向取整,TRUNC 朝零的方向截去小数。选择前先确认你需要的是哪种规则。
4. MROUND 报错 #NUM!,怎么办?
MROUND 要求数值和倍数符号一致。例如对 -7 取 5 的倍数会报错,把倍数改为 -5 即可。如果数据正负混杂,建议拆分成正数和负数两列分别处理,再合并结果,并在表头标注使用的规则。
📝 总结
Excel 里真正让数值变成整数,要靠 ROUND、INT、TRUNC 或 MROUND 这类公式,单纯改显示格式做不到。选函数时先看规则是四舍五入、向下取整还是截去小数,再用核对表检查负数、.5 和合计。掌握这几点,excel 公式求整数和尾数设置就能在日常表格里稳定使用。


