跳转至

TRUNC 函数

函数概述

Excel 中用于“截断数字(不四舍五入)”的函数是 TRUNC。TRUNC 的核心作用是:删除数字的小数部分或按指定精度截断,返回被截断后的数值。它不会像 ROUND 那样进行四舍五入。

常见用途:

  • 去掉小数,直接取整数部分(例如 12.9 → 12)
  • 保留固定小数位但不四舍五入(例如 3.149 → 3.14)
  • 按位“归零”实现截断到十位/百位(例如 5783 → 5780)

基础语法

=TRUNC(number, [num_digits])

其中第二个参数可省略;省略时按默认规则截断。

参数说明

参数 是否必需 含义 典型取值
number 必需 要被截断的数字(或单元格引用/表达式结果) 12.345、A2、SUM(A2:A10)
num_digits 可选 指定截断的位数(精度)。默认 0 2、0、-1、-2

补充理解:

  • num_digits = 0:截断为整数(去掉所有小数)
  • num_digits > 0:保留指定位数的小数(但不四舍五入)
  • num_digits < 0:在小数点左侧截断(用于十位、百位“归零”)

基础用法示范

下面用“公式 → 结果”的方式展示常用写法(你可把 number 换成单元格引用)。

场景 公式 返回结果 说明
去小数取整数 =TRUNC(8.99) 8 省略 num_digits 等同于 0
明确取整数 =TRUNC(8.99,0) 8 删除小数部分,不四舍五入
保留 2 位小数但不进位 =TRUNC(3.14159,2) 3.14 常用于“只截不舍入”的展示/计算
截断到 1 位小数 =TRUNC(12.39,1) 12.3 12.39 不会变成 12.4
截断到十位(个位归零) =TRUNC(5783.01,-1) 5780 -1 表示十位精度
截断到百位(十位个位归零) =TRUNC(5783.01,-2) 5700 -2 表示百位精度
处理负数(向 0 截断) =TRUNC(-3.7) -3 TRUNC 直接“截掉小数部分”,更接近向 0 靠拢

顺带一提:TRUNC 和 INT 都能得到整数,但在负数时行为不同:INT 会“向下取整”(更小的整数),TRUNC 则是“截断小数部分”。比如 -4.2:TRUNC 得 -4,而 INT 得 -5。

总结

TRUNC 适合所有“只截断、不四舍五入”的数值处理需求:

  • 默认截断为整数:=TRUNC(number)=TRUNC(number,0)
  • 保留小数位但不进位:=TRUNC(number, n)
  • 按十位/百位等归零截断:=TRUNC(number, -n)