亲爱的朋友们,在工作中经常会遇到需要取整的情况,那么大家知道Excel中取整的公式都有哪些吗?
一、基础的常用取整函数介绍
难度 | 函数 | 功能描述 | 函数语法 |
ROUND() | 四舍五入到指定小数位(最常用的通用取整函数)。 | ROUND(number, num_digits) | |
INT() | 向下取整到最接近的整数(相当于以 1 为基准向下取整)。 | INT(number) | |
TRUNC() | 直接截断小数位(不进行四舍五入,仅保留整数部分)。 | TRUNC(number, [num_digits]) | |
CEILING() | 向上取整,即向绝对值增大的方向舍入到指定倍数。 | CEILING(number, significance) | |
FLOOR() | 向下取整,即向绝对值减小的方向舍入到指定倍数。 | FLOOR(number, significance) | |
MROUND() | 按照指定的倍数进行四舍五入(可理解为 “按倍数取整”)。 | MROUND(number, multiple) |
Round()函数是最通用的取整函数,还有两个关联函数Roundup()向上取整和Rounddown()向下取整,用法是一样的,这里就不多做介绍。
每日分享一些有用的职场小技巧
喜欢点右上角关注
二、INT()和TRUNC()函数对比
1.关键差异对比表
函数 | 核心逻辑 | 对负数的处理差异(示例:-3.8) |
INT() | 向下取整(向负无穷方向),返回不大于原数的最大整数。 无论正负,均向数轴左侧取整。 | INT(-3.8) = -4(因 - 4 < -3.8) |
TRUNC() | 直接截断小数部分,仅保留整数部分,不考虑数值正负。 相当于 “抹掉小数点后的所有数字”。 | TRUNC(-3.8) = -3(直接舍去.8) |
2.示例结果对比:
原数 | INT() 结果 | TRUNC() 结果 | 差异原因 |
3.9 | 3 | 3 | 正数场景两者均直接舍去小数。 |
-3.9 | -4 | -3 | INT()向负无穷取整,TRUNC()直接截断。 |
7.1 | 7 | 7 | 正数场景两者一致。 |
-7.1 | -8 | -7 | INT()向负无穷取整,TRUNC()直接截断。 |
5 | 5 | 5 | 整数无需取整。 |
-5 | -5 | -5 | 整数无需取整。 |
3.1415 | 3 | 3 | 默认参数下两者一致,TRUNC()可指定小数位(如TRUNC(3.1415,2)=3.14)。 |
3.典型使用场景
1)装箱数量计算
例如:计算装箱数时,一箱可以装20个产品,30个产品需要几箱
=INT(30/20+0.99) //结果:2
2)统计人数
例如:统计人数时,3.9人 需按 3人 计算(直接舍去小数)
=TRUNC(3.9) // 结果:3
三、CEILING()、FLOOR()、MROUND()函数对比
1.按指定倍数的取整的三个函数关键差异对比表:
对比维度 | CEILING() | FLOOR() | MROUND() |
取整方向 | 向上(远离零) | 向下(接近零) | 四舍五入(近则入,中间值取偶) |
基数符号要求 | 必须与 number 同符号 | 必须与 number 同符号 | 无严格要求(但通常用正数) |
结果与原数关系 | 结果 ≥ number(正数) 结果 ≤ number(负数) | 结果 ≤ number(正数) 结果 ≥ number(负数) | 结果可能大于或小于原数(取决于四舍五入) |
典型场景 | 向上取整计费(如出租车起步价) | 向下取整分配资源(如分组人数) | 按固定倍数舍入(如价格保留到5/10 元) |
对中间值的处理 | 无(直接向上) | 无(直接向下) | 遵循 “四舍六入五取偶” |
2.示例结果对比:
假设基数 significance/multiple = 2:
原数 | CEILING() 结果 | MROUND() 结果 | FLOOR() 结果 |
3 | 4(向上到最近 2 的倍数) | 2(3 距离 2 和 4 均为 1,按 “五取偶”,2 是偶数) | 2(向下到最近 2 的倍数) |
4 | 4(已是 2 的倍数) | 4 | 4 |
5 | 6(向上) | 6(5 距离 4 和 6 均为 1,6 是偶数) | 4(向下) |
7.8 | 8(向上) | 8(7.8 距离 8 更近) | 6(向下) |
7.1 | 8(向上) | 6(7.1 距离 6 更近) | 6(向下) |
3.典型使用场景
1)加班时长计算
例如:员工加班时长统计,不足 0.5小时 按 0.5小时 计算
=CEILING(A1, 0.5) // 若A1=1.2小时,则结果=1.5小时
例如:员工加班时长统计,不足 0.5小时 按 0小时 计算,累计半小时计加班费
=FLOOR(A1,0.5)// 若A1=1.2小时,则结果=1.5小时
2)将学生成绩按 10分区间分组(如 60-69、70-79 等)
=FLOOR(A1/10, 1)*10 // 若A1=78,则分组为70
今天的分享结束,谢谢大家