课程
如果您经常处理预算或价格,Excel 的 FLOOR() 函数会很有用。
在本文中,我将详细介绍 FLOOR() 的工作原理,通过实际示例演示其用法,并说明它如何为您的计算带来一致性与准确性。
Excel FLOOR() 的工作方式
在开始使用 FLOOR() 之前,了解其底层逻辑以及如何通过参数控制其行为非常重要。
FLOOR() 的核心是向下取整。您可以取到最接近的整数,也可以指定“significance”(精度步长),按符合您场景的步长向下取整。这对按固定步长定价或固定时间间隔等场景尤其实用,因为取整需要遵循一定的规则。
在 Excel 中,FLOOR() 的调用方式如下:
=FLOOR(number, significance)
-
number:要向下取整的值。 -
significance:要取整到的倍数。
要让 FLOOR() 正常工作,这两个参数都是必需的。
该函数始终沿着趋向于零的方向向下取整,并将 significance 作为步长。
如何对正数向下取整
先做一个基础练习。假设您想把数字 17 向下取到最接近的 5:
=FLOOR(17, 5)
该公式返回 15。

如何对负数向下取整
另一方面,如果数字为负,FLOOR() 仍然朝着零的方向取整,因此:
=FLOOR(-17, 5)
这会返回 -20。

Excel FLOOR() 的实际用法
您可能在想,在真实场景中该在哪里使用 FLOOR()。以下是一些常见且实用的用法:
控制价格或成本
FLOOR() 的经典用法之一是定价。在按固定步长定价以避免意外多收费用时非常有用。例如,如果您的产品按 25 美分为步长定价,您可以确保所有价格都落在这些步长上:
=FLOOR(2.89, 0.25)

该公式返回 2.75,把 2.89 整齐地向下取到下一个 0.25 美元刻度。
将时间组织为固定区块
FLOOR() 同样适合管理时间,尤其是当您需要把时长归入一致的时间段时。比如,您想把任意分钟数归入 15 分钟区块:
=FLOOR(52, 15)

这会返回 45,因此 52 分钟会被归入 45 分钟区块。
FLOOR() 与 ROUNDDOWN()、MROUND() 的比较
Excel 提供了多种取整函数,各有其方式与用途。本节我们将更深入地比较 FLOOR()、ROUNDDOWN() 和 MROUND() 的差异。
取整方式对比
主要取整函数的区别如下:
-
FLOOR():向下取整到您指定的倍数。 -
ROUNDDOWN():朝零方向取整,但您控制的是小数位数,而不是倍数。 -
MROUND():取到最接近的倍数,可能向上或向下,取决于哪个更近。
例如,使用:
=ROUNDDOWN(17.7, 0)
您会得到 17——也就是整数部分——因为 ROUNDDOWN() 是按小数位数工作的。
但如果您使用:
=MROUND(17, 5)
您会得到 15,因为 15 是最接近 5 的倍数(无论向上还是向下)。
FLOOR() 则始终向下取整。(实际上,=FLOOR(17.7, 0) 会给出 #DIV/0! 错误。)
常见问题与行为
尽管 FLOOR() 在大多数情况下都很直观,但仍有一些细节需要留意。本节我们将探讨最常见的错误以及如何规避它们。
significance 与数字的符号
使用 FLOOR() 的关键规则之一是:数字与 significance 必须同号。如果将正数与负的 significance(或相反)搭配,Excel 会返回错误。例如:
=FLOOR(10, -2)
这会产生 #NUM! 错误。
仔细想想——正数配负的 significance 意味着朝零方向向下取整,这与 FLOOR() 的目的相矛盾。而负数配正的 significance 则意味着朝零方向向上取整,同样矛盾。
为避免问题,请确保两个输入要么同为正数,要么同为负数。
significance 为零
另一个常见问题是尝试将 significance 设为 0:
=FLOOR(10, 0)
Excel 同样会返回 #NUM! 错误,因为无法按 0 的步长取整。此前在将 FLOOR() 与类似函数比较时我已提到过此点。要避免该问题,只需确保第二个参数永远不要填 0。
结论
现在您已经了解了 Excel 中的 FLOOR() 函数。我认为它在财务建模中很有帮助,因 为向下取整可确保预测或成本不会高估潜在收入或回报。这是一种谨慎的做法,在风险偏好较低的场景中尤为适用。我们有一门广受欢迎的Financial Modeling in Excel课程,如果您对此类主题感兴趣,非常值得一学。

我是数据科学编辑,曾为科学期刊发表的研究论文撰稿。我的兴趣领域包括线性代数、统计学、R 等相关主题。