ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 函数与公式 > EXCEL修约函数汇总

EXCEL修约函数汇总

作者:绿色风 分类: 时间:2022-08-18 浏览:114
楼主
半半瓶醋
(实在没东西了,把原来每人看的帖子翻出来)
EXCEL修约函数汇总
                excel修约函数第二参数分两大类,一类为小数点位数表示法,一类为精度表示法。下表做个对比。
               
 

ROUND(number, num_digits):四舍五入函数。将某个数字四舍五入为指定的位数。
   number:要四舍五入的数字。
   num_digits:数字修约的精度。
       num_digits>0,则向小数点右侧位数进行四舍五入,即要保留的小数位数。
       num_digits = 0,则将数字四舍五入到个位。
       num_digits<0,则向小数点左侧位数进行四舍五入。即:-1:修约到十位,-2:到百位……
   num_digits应为整数,有小数虽不出错,但小数会自动舍去,只保留整数。ROUNDDOWN,ROUNDUP,TRUNC都是这样。
ROUND(8.15,1)=ROUND(8.15,1.9)=8.2                         ROUND(8.15,0)=ROUND(8.15,0.546)=ROUND(8.15,)=8
ROUND(1438.15,-2)=1400 ROUND(-1438.15,-2)=-1400 ROUND(1438.15,-1)=1440 ROUND(-1438.15,-1)=-1440
MROUND(number,multiple):返回参数按指定基数舍入后的数值。【03版需加载"分析工具库"】
       如果number除以multiple的余数大于或等于multiple的一半,则函数 MROUND 向远离零的方向舍入。
       number,multiple必须符号一致,否则返回#NUM!错误。
       在公式中,number是变量,multiple做常量且习惯multiple是正数,所以函数容错写法应该是
       MROUND(number,sign(number)*multiple)  multiple为正数
       MROUND是ROUND扩展版:MROUND(number,sign(number)*multiple)=ROUND(number/multiple,)*multiple
       ROUND(8.15,1)=MROUND(8.15,0.1)=8.2             ROUND(8.15,)=MROUND(8.15,1)=8
       MROUND(8.15,3)=ROUND(8.15/3,)*3=9              MROUND(9.15,3)=ROUND(9.15/3,)*3=9
ROUNDDOWN(number, num_digits):靠近零值,向下舍入数字。→0←
        参数意义同ROUND函数。修约规则是对数字的绝对值向下“舍”休约。
TRUNC(number,[num_digits]):将数字截取到指定的精度。直接截去尾数,不论正负。→0←
        TRUNC=ROUNDDOWN 功能完全一样。唯一不同的是TRUNC的第二参数是可选的,不选时默认为0。
        ROUNDDOWN第二参数是必选参数。但可采用省略写法(省略当做0)。
        TRUNC(8.15,1)=ROUNDDOWN(8.15,1)=8.1      TRUNC(-8.15,1)=ROUNDDOWN(-8.15,1)=-8.1
        TRUNC(8.15)=ROUNDDOWN(8.15,)=ROUNDDOWN(8.15,0)=8
FLOOR(number,significance):将number向下舍(向零方向)到最接近significance的倍数。
        number,significance参数的符号在不同版本有不同现象,甚至造成修约结果与函数说明的功能相矛盾。
        03版:number,significance符号必须一致,否则返回#NUM!错误。修约结果与函数说明的功能一致。→0←
        10版:如果number为正数,则significance必须为正。否则返回#NUM!错误。
        ①如果significance与number符号相同,对数字的绝对值向下“舍”。修约结果与函数说明的功能一致。→0←
        为了保证函数容错性和通用性。函数写法同MROUND
        FLOOR(number,sign(number)*significance)。
        FLOOR是TRUNC(ROUNDDOWN)的扩展版(significance为正数)。
        FLOOR(number,sign(number)*significance)=TRUNC(number/significance)*significance
                例子:月底发了5678.9元工资,你家的母老虎大方的说“不足50元的留作你零花钱吧”,那你得上交多少呢?
        FLOOR(5678.9,50)=TRUNC(5678.9/50)*50=5650
        FLOOR(-5678.9,-50)=TRUNC(-5678.9/50)*50=-5650                        
        ②如果significance与number符号相异,对数字的绝对值向上“入”。修约结果与函数说明的功能相反。←0←
        这种情况就是INT的扩展版(significance为正数)。
        FLOOR(number,significance)=INT(number/significance)*significance
                FLOOR(5678.9,50)=INT(5678.9/50)*50=5650
                FLOOR(-5678.9,50)=INT(-5678.9/50)*50=-5700 (03版FLOOR出错)
INT(number):将numer舍到等于或小于并最接近number的整数。正数靠近零,负数远离零。←0←
        INT在处理正数时效果同TRUNC。处理负数时与TRUNC不同,INT远离零,TRUNC靠近零
                TRUNC(7.35)=INT(7.35)=7                  TRUNC(-7.35)=-7≠INT(-7.35)=-8
FLOOR.PRECISE(number,[significance]):舍到等于或小于并最接近number的significance倍数。←0←
    07版新加函数,功能同FLOOR上面说的第②点,不同的是number,significance符号都不做限制。
    Number为负数是远离零方向,Number为正数时靠近零方向。
    Significance符号不用考虑。Significance缺省时是1。INT的扩展版。
    FLOOR.PRECISE(number,significance)=FLOOR.PRECISE(number,ABS(significance))
                                                         =INT(number/ABS(significance))*ABS(significance)
    FLOOR.PRECISE(5678.9,50)=FLOOR.PRECISE(5678.9,-50)=INT(5678.9/50)*50=5650
    FLOOR.PRECISE(-5678.9,50)=FLOOR.PRECISE(-5678.9,-50)=INT(-5678.9/50)*50=-5700
ROUNDUP(number, num_digits):远离零值,向上舍入数字。        ←0→
     参数意义同ROUND函数。休约规则是对数字的绝对值向上“入”修约。
     ROUNDUP(8.15,1)=8.2                                ROUNDUP(-8.15,1)=-8.2
CEILING(number,significance):将Number向上入(远离零方向)为最接近significance的倍数。←0→
        参数意思和要求完全同FLOOR,只是修约方向同FLOOR相反。ROUNDUP函数的扩展版(significance为正数)。
     CEILING(number,sign(number)*significance)=ROUNDUP(number/significance,)*significance
     CEILING(5678.9,50)=ROUNDUP(5678.9/50,)*50=5700
     CEILING(-5678.9,-50)=ROUNDUP(-5678.9/50,)*50=-5700
     CEILING(-5678.9,50)=-5650 (03版出错)
CEILING.PRECISE(number,[significance]):入到等于或大于并最接近number的significance倍数。→0→
       07版新加函数,参考FLOOR.PRECISE,负数时是ROUNDDOWN扩展版,正数时是ROUNDUP扩展版。
       CEILING.PRECISE(5678.9,50)=5700        CEILING.PRECISE(-5678.9,50)=-5650  
       CEILING.PRECISE(5678.9,-50)=5700       CEILING.PRECISE(-5678.9,-50)=-5650
EVEN(number)沿绝对值增大方向取整后最接近的偶数。←0→
                EVEN(number)=ROUNDUP(number/2,)*2
ODD(number)沿绝对值增大方向取整后最接近的奇数。←0→
                ODD(number)=ROUNDUP((number+1)/2,)*2-1
翻帮助整理的。这么一大堆估计看完也晕了。
2楼
大灰灰
醋醋 我来了。嘿嘿  试试 就不晕了 好详细  谢谢 收藏~
3楼
大灰灰
沙发 板凳 都归我
4楼
乌江秀水
看看

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap