Excel取整函数大全 | INT、ROUND、TRUNC等函数一网打尽

全面掌握Excel数值取整技巧,从四舍五入到强制进位,轻松应对财务、统计、库存等场景

一、为什么要学习取整函数?Excel取整函数概览

数值取整是Excel数据处理中最基础也最重要的操作之一。无论是财务报表、人事薪资、库存管理还是统计分析,都离不开对各种取整需求的处理。Excel提供了丰富的取整函数,可以满足不同业务场景下的精确控制[citation:1]:

  • INT函数:向下取整,返回不大于原数的最大整数
  • TRUNC函数:截断小数,直接去除小数部分
  • ROUND函数:四舍五入到指定小数位
  • ROUNDUP函数:向上取整,强制进位(远离零)
  • ROUNDDOWN函数:向下取整,强制截断(接近零)
  • CEILING函数:向上舍入到指定倍数
  • FLOOR函数:向下舍入到指定倍数
  • MROUND函数:四舍五入到指定倍数

核心概念:选择正确的取整函数,取决于业务规则是要求“四舍五入”、“强制进位”还是“直接截断”,尤其是处理负数时,不同函数的差异更加明显[citation:1][citation:8]。

二、基础取整:INT与TRUNC的区别与联系

INT和TRUNC是最基础的两个取整函数,初学者经常混淆它们,特别是在处理负数时的行为差异至关重要[citation:1][citation:8]:

📉 INT函数(向下取整)

语法=INT(数字)

作用:返回不大于原数的最大整数,即“向下”取整[citation:5]

示例
=INT(5.8) → 5
=INT(-5.8) → -6

特点:对于负数,会向更负的方向取整

✂️ TRUNC函数(截断取整)

语法=TRUNC(数字, [小数位数])

作用:直接截断小数部分,不进行任何四舍五入[citation:5]

示例
=TRUNC(5.8) → 5
=TRUNC(-5.8) → -5

特点:忽略正负号,只去掉小数部分

📊 INT vs TRUNC 对比表:
原始数字INT结果TRUNC结果
6.866
-6.8-7-6
3.1433
-3.14-4-3

💡 对于正数,两者结果相同;对于负数,INT返回更小的数,TRUNC返回更接近零的数[citation:8]。

📌 应用场景:

  • INT:适用于需要“向下取整”的业务,如按天计费时不足一天不计费(保证不超收)[citation:8]
  • TRUNC:适用于只需要去掉小数位、不考虑方向的场景,如截取日期时间中的日期部分

三、ROUND家族:ROUND、ROUNDUP、ROUNDDOWN

ROUND家族是Excel中使用最频繁的取整函数组,它们可以精确控制小数位数,并决定进位方向[citation:4]:

🔄 ROUND(四舍五入)

语法=ROUND(数字, 小数位数)

作用:标准的四舍五入[citation:1]

示例
=ROUND(12.345, 2) → 12.35
=ROUND(12.345, 0) → 12
=ROUND(12.345, -1) → 10(十位四舍五入)

⬆️ ROUNDUP(向上取整)

语法=ROUNDUP(数字, 小数位数)

作用:始终向上进位(绝对值变大)[citation:5]

示例
=ROUNDUP(12.341, 2) → 12.35
=ROUNDUP(12.001, 0) → 13
=ROUNDUP(-12.341, 1) → -12.4(注意方向)

⬇️ ROUNDDOWN(向下取整)

语法=ROUNDDOWN(数字, 小数位数)

作用:始终向下截断(绝对值变小)[citation:5]

示例
=ROUNDDOWN(12.349, 2) → 12.34
=ROUNDDOWN(12.999, 0) → 12
=ROUNDDOWN(-12.349, 1) → -12.3

⚠️ 重要提示:

  • 小数位数可以是负数:例如=ROUND(1234, -2)会四舍五入到百位,结果为1200[citation:3]
  • ROUNDUP和ROUNDDOWN对负数的处理:它们都是“远离零”(UP)或“接近零”(DOWN)取整,而非简单的向上/向下[citation:5]

四、倍数取整:CEILING、FLOOR、MROUND

当需要将数字舍入到指定倍数的整数时,需要使用倍数取整函数,这在计费单位换算、批量计算中非常实用[citation:2][citation:6]:

🏢 CEILING(向上舍入到倍数)

语法=CEILING(数字, 基数)

作用:将数字向上舍入到最接近的基数的倍数[citation:5]

示例
=CEILING(2.1, 1) → 3
=CEILING(2.1, 0.5) → 2.5
=CEILING(123, 10) → 130

🏭 FLOOR(向下舍入到倍数)

语法=FLOOR(数字, 基数)

作用:将数字向下舍入到最接近的基数的倍数[citation:5]

示例
=FLOOR(2.9, 1) → 2
=FLOOR(2.9, 0.5) → 2.5
=FLOOR(123, 10) → 120

🎯 MROUND(四舍五入到倍数)

语法=MROUND(数字, 基数)

作用:将数字四舍五入到最接近的基数的倍数[citation:6]

示例
=MROUND(123, 10) → 120(因为123更接近120而非130)
=MROUND(126, 10) → 130
=MROUND(2.4, 0.5) → 2.5

⚠️ 注意:MROUND需要加载分析工具库或在Excel 2007及以上版本中直接使用[citation:1]。

💡 倍数取整的典型应用:

  • CEILING:加班时间按0.5天向上取整计算[citation:2]
  • FLOOR:积分按10分向下取整发放
  • MROUND:金额按5角四舍五入结算

五、实战案例1:财务与薪资计算中的取整应用

财务和人事工作对数字精度要求极高,不同场景需要不同的取整规则[citation:1][citation:8]:

案例A:员工加班费计算(向上取整)

规则:加班不足1小时按1小时计(进一法)[citation:2]

员工加班时长(小时)计费时长(小时)小时薪资加班费
张三2.1=ROUNDUP(B2,0) → 350150
李四3.8=ROUNDUP(B3,0) → 450200

案例B:工资发放(向下取整)

规则:工资按元发放,角分全部舍去(公司让利给员工)[citation:8]

员工应发工资实发工资公式
王五8765.898765=INT(A2) 或 =TRUNC(A2)
赵六6543.216543=INT(A3)

案例C:扣税计算(四舍五入)

规则:税额保留两位小数(四舍五入到分)[citation:1]

公式=ROUND(应纳税所得额 * 税率, 2)

例如:应纳税所得额5000,税率3%,则税额=ROUND(5000*0.03, 2) = 150.00

📌 财务取整建议:

  • 金额结算建议使用ROUND,避免累积误差[citation:1]
  • 若需确保不超收,用ROUNDDOWNINT
  • 若需确保不少收,用ROUNDUPCEILING[citation:2]

六、实战案例2:库存与生产管理中的取整技巧

生产计划和库存管理中经常遇到包装单位、最小起订量等取整需求[citation:2]:

案例A:按箱向上取整(CEILING)

规则:产品每箱装12个,不足一箱按一箱计算发货[citation:2]

产品需求数量(个)每箱容量需发货箱数公式
A50125=CEILING(B2/C2, 1)
B100129=CEILING(B3/C3, 1)

50/12≈4.17 → 向上取整为5箱

案例B:按整包装发放(FLOOR)

规则:原料按整桶发放,每桶5kg,不足一桶的零头暂存下次发放

生产单需求(kg)每桶容量发放桶数零头(下次)
P001235=FLOOR(B2/C2, 1) → 4=MOD(B2, C2) → 3

案例C:MROUND在批次管理中的应用

规则:产品按10的倍数批次入库,四舍五入到10的倍数

公式=MROUND(实际数量, 10)

例如:实际生产127个 → 四舍五入到130个批次

七、进阶技巧:条件取整与函数组合

实际业务中往往需要根据条件动态选择取整方式,这时可以结合IF等逻辑函数实现灵活控制[citation:2]:

🎯 案例:分级取整规则

规则:金额小于100元时四舍五入到元;100-1000元时保留1位小数;大于1000元时保留2位小数[citation:1]

公式
=IF(A1<100, ROUND(A1,0), IF(A1<1000, ROUND(A1,1), ROUND(A1,2)))

🔄 案例:正负数不同处理

规则:正数用INT向下取整,负数用TRUNC截断(更接近零)[citation:8]

公式
=IF(A1>=0, INT(A1), TRUNC(A1))

⚡ 案例:异常值处理

需求:取整时如果遇到非数字或空值,返回0而不报错

公式
=IFERROR(ROUND(A1,0), 0)

📝 取整函数选择指南:

需求场景推荐函数示例
四舍五入到指定位数ROUND=ROUND(12.345,2) → 12.35
强制向上进位ROUNDUP 或 CEILING=ROUNDUP(12.001,0) → 13
强制向下舍弃ROUNDDOWN 或 INT=ROUNDDOWN(12.999,0) → 12
截断小数(不改变符号)TRUNC=TRUNC(-12.8) → -12
负数向下取整INT=INT(-12.8) → -13
按倍数向上取整CEILING=CEILING(23,5) → 25
按倍数向下取整FLOOR=FLOOR(23,5) → 20
按倍数四舍五入MROUND=MROUND(23,5) → 25

⚠️ 常见误区与注意事项:

  • INT与TRUNC混淆:正数时相同,负数时INT更小[citation:8]
  • ROUNDUP/ROUNDDOWN对负数的理解:它们是按绝对值方向处理,而非数值大小[citation:5]
  • MROUND要求基数符号与数字一致:否则返回错误值#NUM!
  • 高精度金融计算:优先使用ROUND避免累积误差[citation:1]
  • 批量操作:善用填充柄和快捷键Ctrl+Enter提高效率[citation:8]