跳转至

ROUNDDOWN 函数

1. 函数概述

ROUNDDOWN 用于将一个数字按指定的小数位数进行“向下舍入”(即朝着 0 的方向截断)。它不会进行四舍五入,而是直接丢弃多余的小数位,从而得到更小(或更接近 0)的结果。

  • 当数字为正数时:向下舍入会让结果不大于原数
  • 当数字为负数时:向下舍入会让结果更接近 0(例如 -3.141 向下舍入到 2 位小数会变成 -3.14)

适用场景示例:金额保留到分/角但不进位、折扣计算后截断小数、统计报表按规则截位等。


2. 基础语法

=ROUNDDOWN(number, num_digits)

3. 参数说明

3.1 number

  • 含义:需要被向下舍入的数字(可以是常数、单元格引用、公式计算结果)。
  • 常见来源:

    • 直接数字:3.14159
    • 单元格引用:A2
    • 运算表达式:A2/B2

3.2 num_digits

  • 含义:指定要保留的小数位数(或对整数位进行截断)。
  • 取值规则:

    • num_digits > 0:保留指定的小数位数(例如保留 2 位小数)。
    • num_digits = 0:保留整数部分(去掉所有小数)。
    • num_digits < 0:对整数位进行截断(例如按十位、百位截断)。

4. 基础用法示范

4.1 保留指定小数位(num_digits > 0)

目标:将 12.3456 向下舍入保留 2 位小数

=ROUNDDOWN(12.3456, 2)

结果:12.34

目标:将单元格 A2 的数值向下舍入保留 3 位小数

=ROUNDDOWN(A2, 3)

4.2 仅保留整数(num_digits = 0)

目标:将 98.99 截断为整数

=ROUNDDOWN(98.99, 0)

结果:98

目标:将 A2 的结果计算后截断为整数(例如价格 * 数量)

=ROUNDDOWN(A2*B2, 0)

4.3 截断到十位/百位等(num_digits < 0)

目标:把 1234 向下截断到十位(个位变为 0)

=ROUNDDOWN(1234, -1)

结果:1230

目标:把 1234 向下截断到百位(十位和个位变为 0)

=ROUNDDOWN(1234, -2)

结果:1200

目标:把 A2 的数值向下截断到千位

=ROUNDDOWN(A2, -3)

4.4 与计算结合:按规则截断不进位

示例:计算折扣价并保留 2 位小数且不进位

  • 原价在 A2,折扣率在 B2(例如 0.85)
=ROUNDDOWN(A2*B2, 2)

示例:计算单价平均值并截断到 1 位小数

  • 总金额在 A2,总数量在 B2
=ROUNDDOWN(A2/B2, 1)

5. 总结

  • ROUNDDOWN 的核心规则:按指定位置“截断”,不四舍五入,结果始终朝 0 方向靠近。
  • num_digits 的意义决定了截断的位置:

    • 正数:保留小数位
    • 0:只保留整数
    • 负数:截断到十位/百位/千位等
  • 常见使用方式是将 ROUNDDOWN 与计算公式结合,以满足“按规则保留但不进位”的业务需求。