分享

Excel中的四舍五入及相关函数:原理,四舍五入,七舍八入,舍入到倍数

 zonge 2024-10-30

分类:数学和三角函数

Excel中提供了非常多的数学和三角函数,在我们这个Power Excel知识库中,并不打算全部为大家详细讲解。一方面是因为有很多函数只在特殊的场景中才用得上,另一方面是因为有些函数本身非常简单,比如,SUM函数。所以,我们就把精力放在那些有比较广泛的实用场景的函数上。

概述

Excel中提供了相当多的函数来进行数字的舍入:

  • ROUND

  • ROUNDUP

  • ROUNDDOWN

  • MROUND

  • CEILIING

  • CEILING.MATH

  • FLOOR

  • FLOOR.MATH

  • INT

  • TRUNC

这些函数各自有不同的工作方式,也适用于各自的工作场景。

必须提醒很多初学者的事,很多人通过单元格格式位数来进行四舍五入的操作:

图片

但是这样做的结果仅仅是修改了单元格的显示方式,真正的数值并没有被舍入:

图片

所以,如果你在计算中如果需要舍入操作的话,必须使用这些函数进行计算才能得到正确的结果。
舍入的基本概念

我们首先需要了解数值舍入的基本概念:舍入方式和舍入算法。

舍入方式

我们通常说到舍入的时候,多数是在说四舍五入:

  • 3.4 => 3

  • 3.5 => 4

但是实际的场景中,会有多种舍入方式,比如七舍八入:

  • 3.7 => 3

  • 3.8 => 4

或者“全部进位”,即只要不为0,就全部进位:

  • 3.0 => 3

  • 3.1 => 4

或者“全部舍去”,即将不需要的位数全部舍去:

  • 3.0 =>3

  • 3.9 =>3

在Excel中,只支持3种舍入操作:

  • 四舍五入

  • 全部进位

  • 全部舍去

如果你在工作中需要七舍八入,需要灵活运用我们这里的这些函数才能实现。

舍入算法

我们说到“舍入”的时候,包含了两个要素:

  • 舍。是指将数字去掉

  • 入。是指将数字进位

前面说的舍入方式规定的就是其中要将那些数字去掉,那些数字进位。

但是这里还有一个概念需要澄清:进位。

从3.5变成4,当然是小数点后第一位数字进位了。这很好理解,我们一般认为进位就是变大了。但是在负数的情况下,如何进位呢。从-3.5变成-3?还是从-3.5变成-4?

说实话,并没有哪种方法是绝对正确的。在不同的场景中可能需要使用不同的方法。

在IEEE754(一个国际标准)中规定了5种舍入的方法(其实主要是规定了进位的方法):

  • AwayFromZero。向远离零的方向进位。比如在四舍五入时,3.5变成了4,-3.5变成了-4。

  • TowardsZero。向靠近零的方向进位。比如在四舍五入时,3.5变成了3,-3.5变成了-3。

  • ToEven。向靠近偶数的方向进位。这个方法在需要进位时,永远向靠近最近的偶数的方向进位。比如,3.5变成了4,2.5变成了2。

  • TowardsPositiveInfinity。向正无穷大的方向进位。比如在四舍五入时,3.5变成了4,-3.5变成了-3。

  • TowardsNegativeInfinity。向负无穷大的方向进位。比如在四舍五入时,3.5变成了3,-3.5变成了-4。

在Excel提供的这些舍入函数中,各自采用了不同的舍入方法。

ROUND

ROUND函数是最常用的舍入函数了。它的作用是对给定的数值进行四舍五入操作,结果是对给定数值保留给定的有效位数。

语法如下:

ROUND(数值,有效位数)。

其中,

  • 数值 => 需要进行舍入操作的数值。

  • 有效位数 => 需要保留的小数点有效位数。

ROUND函数采用的舍入方法是AwayFromZero。

最简单的使用:

图片

舍入整数位

ROUND函数不仅仅可以对小数位进行四舍五入,还可以对整数位进行四舍五入,此时,第二个参数为负数:

图片

七舍八入

ROUND函数的舍入方式是四舍五入,Excel也没有函数可以进行七舍八入。所以,需要稍微变换一下公式。

对于正数来说,使用公式:

=ROUND(B3-0.3,0)

对于负数来说,使用公式:

=ROUND(B3+0.3,0)

合并成一个公式:

=ROUND(B3-SIGN(B3)*0.3,0)
图片

以此类推,如果是二舍三入,就将公式中的0.3改成0.8。

MROUND

MORUND函数的作用是将一个数值四舍五入到给定基数的整数倍。

语法如下:

MROUND(数值,基数)。

其中,

  • 数值 => 需要进行四舍五入的数值。

  • 基数 => 给定的基数。基数可以为正数,也可以为负数。但是基数的符号必须与数值参数的符号相同。

MROUND函数的返回值只能是给定基数的整数倍。如果基数是4,只能返回0,4,8,16,20,24,......(对应的负数也可以)。

例如,公式:

=MROUND(33,5)

结果是35。

MROUND函数中的基数可以是小数:

=MROUND(3.14,0.05)

返回最接近的0.05的整数倍:3.15。

MROUND函数的原理

  1. MROUND首先计算给定数值与基数的除法,得到商和余数:33除以5,商是6,余数是3。

  2. 然后计算余数与基数的除法,得到一个小数:3除以5,得到0.6。

  3. 然后对0.6进行判断(四舍五入),因为0.6>0.5,需要进位,因此得到一个倍数:商+进位=6+1=7。

  4. 得到公式的返回值是7*5=35。

注:Mround实际上跟Round函数都是在进行四舍五入,而且舍入方法都是AwayFromZero。

未完待续

Power Excel 知识库    按照以下方式进入知识库学习
Excel函数   底部菜单:知识库->Excel函数

自定义函数  底部菜单:知识库->自定义函数

Excel如何做  底部菜单:知识库->Excel如何做

面授培训  底部菜单:培训学习->面授培训

也可以在历史文章中学习Excel,Power Query,Power Pivot,Power BI,Power Automate各种技巧。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多