课程
在 Excel 的各种取整方式中,ROUNDUP() 独树一帜,因为它总是向远离 0 的方向取整。也就是说,无论取整位之后的数字是什么,结果的绝对值总会比原数更大(更正或更负)。
本文将逐步讲解 ROUNDUP() 的语法,通过示例进行说明,并将其与其他 Excel 取整方法进行对比,帮助您判断在什么情况下以及如何高效使用该函数。如果您还不熟悉基础知识,建议先学习我们的 Introduction to Excel 和 Data Preparation in Excel 课程,打好基础。
快速答案:如何在 Excel 中向上取整
如果您很忙,这里有一个快速示例:下面的函数将 76.345 向上取整为最接近的整数 77。
=ROUNDUP(76.345, 0)

Excel ROUNDUP() 的工作原理
以下是 ROUNDUP() 函数使用的参数:
=ROUNDUP(number, num_digits)
其中:
-
number:要向上取整的数值。 -
num_digits:设置要取整到的小数位数,或小数点左侧的位数。
关于 num_digits 再多说一点:它决定了数字被向上取整的具体方式。
-
当为正数时:向上取整到指定位数的小数。例如,
=ROUNDUP(3.14159, 2)返回 3.15。 -
当为 0 时:向上取整到最接近的整数。例如,
=ROUNDUP(3.14159, 0)返回 4。 -
当为负数时:在小数点左侧取整,例如到十位、百位等。例如:
=ROUNDUP(314.159, -2)返回 400。
何时用 ROUNDUP() 而不是 ROUND()
Excel 的 ROUND() 函数在被舍去的数字为 5 或更大时向上取整,否则向下取整(这被称为四舍五入),而 ROUNDUP() 则总是远离 0 取整。
当需要无论数值为何都向上取整的精度要求时,请使用 ROUNDUP(),例如:
- 计算运输重量,确保永不低估包裹尺寸或少收费用。
- 设置价格下限,防止价格低于设定阈值。
- 按时间段向上取整用于计费或排期,避免低估耗时。
需要注意的是,与 ROUND() 不同,ROUNDUP() 不考虑被舍去的数字是否为 5 或更大,从而使数值增大。
两个常见的 ROUNDUP() 示例
现在我们已经了解了 ROUNDUP() 的工作方式,接下来通过以下示例来理解其实际应用。
对金额向上取整
使用 ROUNDUP() 可确保价格或成本等金额不被低估。下面的函数将数字向上取整为 45.13。
=ROUNDUP(45.126, 2)

向上取整到最接近的 10
ROUNDUP() 可将数量、库存或其他整数向上取整到下一个 10 的倍数。例如,下面的函数将 67 向上取整为 70。
=ROUNDUP(67, -1)

ROUNDUP() 与类似函数的差异
Excel 提供了多种取整函数,各有不同的行为。下表总结了 ROUNDUP() 与其他常用取整函数的比较:
|
函数 |
行为 |
示例 |
|
|
始终向上取整,远离 0 |
|
|
|
根据数值决定向上或向下 |
|
|
|
始终向下取整,趋向 0 |
|
|
|
向上取整到最近的指定倍数 |
|
|
|
向下取整为最接近的整数(负数会远离 0) |
|
|
|
四舍五入到最近的指定倍数(可上可下) |
|
更进阶的用法:将 ROUNDUP() 与公式结合
当与其他 Excel 函数搭配使用时,ROUNDUP() 会更为强大。以下是一些在动态公式中常见的用法。
嵌入到计算中
在公式中使用 ROUNDUP(),可确保在计算过程中结果始终向上取整,例如计算定价、税费或佣金。比如,下面的公式将 A2 与 B2 的乘积向上取整到 2 位小数。
=ROUNDUP(A2 * B2, 2)

如果您也和我一样好奇:以上用法只会对最终结果取整;它不会在相乘前分别对各元素取整。下一个示例将演示如何在相乘前分别对每个值取整。
=ROUNDUP(A2,2) * ROUNDUP(B2, 2)

在条件逻辑中使用 ROUNDUP()
您也可以借助 IF() 函数,仅在满足特定条件时才进行取整。例如,下面的公式仅在 A2 为正时,将其向上取整到最接近的整数;否则返回空白。
=IF(A2 > 0, ROUNDUP(A2, 0), "")

处理数组
在现代 Excel 版本(365 或 Excel 2019+)中,可以使用动态公式将 ROUNDUP() 应用于数组。例如,下面的公式会返回一个数组,其中 A2:A9 中的每个数值都被向上取整到最接近的整数。此方法适用于无需辅助列的大批量调整。
=ROUNDUP(A2:A9, 0)

建议您学习我们的 Advanced Excel Functions 课程,进一步掌握 Excel 函数,在处理复杂数据集时显著提升效率。
常见陷阱与提示
在 Excel 中使用 ROUNDUP() 时,应注意以下实用要点,避免出现意外结果。
-
负数会向更远离 0 的方向取整:
ROUNDUP()始终远离 0 取整,这意味着对于负数,会向下取整为更小(更负)的数。例如,=ROUNDUP(-2.3, 0)的结果是 -3,而不是 -2。在负数表示亏损或扣减的计算中,这种行为会带来影响,因此处理负数时请务必再次核对您的逻辑。 -
计算中的取整膨胀:当在大型数据集或财务模型中反复应用
ROUNDUP()时,可能会引入取整膨胀,使结果系统性地偏高。为避免该问题,仅在必要处使用ROUNDUP(),并考虑在最终阶段再进行取整,而不是在每个中间步骤都取整。 -
与 CEILING() 相似,但并不相同:对于正数,
ROUNDUP()和CEILING()常会得到相同结果(向上取整到最近的整数)。当需要按特定增量(如 5 或 10 的倍数)取整时,请使用CEILING();当您希望按小数位取整时,请使用ROUNDUP()。
结语
当数值必须无论小数为何都向上取整时,ROUNDUP() 是 Excel 中的首选工具。它可确保不低估各类数值,适用于预算、定价、配额和财务预测等场景。
建议您学习我们的 Data Analysis with Excel Power Tools 和 Excel Fundamentals 技能路径,掌握包括 Power Query、Power Pivot 与动态 M 语言在内的高级 Excel 技巧。
数据科学技术写作者,具备数据分析、商业智能和数据科学的一线实践经验。我撰写以行业为导向的实用内容,涵盖 SQL、Python、Power BI、Databricks 和数据工程,并以真实的分析工作为基础。我的写作兼顾技术深度与业务影响,帮助专业人士将数据转化为自信的决策。
常见问题
ROUNDUP() 与 ROUND() 有何不同?
ROUNDUP() 总是远离 0 取整,而 ROUND() 会根据被移除的数字决定向上或向下取整。
在 ROUNDUP() 中使用负的 num_digits 会发生什么?
数字会在小数点左侧取整。例如,=ROUNDUP(123, -1) 会取整到 130。
ROUNDUP() 能用于时间或日期吗?
不会直接支持。对于时间取整,请改用 MROUND()、CEILING() 或者专门的时间公式。
ROUNDUP() 和 CEILING() 是一样的吗?
不能。CEILING() 会向上取整到指定倍数,而 ROUNDUP() 是按位数取整。
