几个常用的保留小数位数的四舍五入函数
round(数值,保留的小数位数):
四舍五入,保留指定小数位数。round(4.489,2)=4.49,即按两位小数进行四舍五入。
rounddown(数值,保留的小数位数):
直接舍去指定位数后面的小数。rounddown(5.578,2)=5.57,即两位小数后的数字全部舍掉了。
roundup(数值,保留的小数位数):
按指定位数向上舍入指定位数后面的小数。roundup(4.584,2)=4.59,将两位小数后的数字入上去,除非其后为零。
保留小数位数的示例
示例1:EXCEL中有一列数小数(如1.235,2.32564),我想保留真正的2位小数,不是那种通过设置单元格实现的,我就想要鼠标点击去也是1.24,2.33。
方法一:工具栏上有两个小箭头加.00的图标,一个是增加小数位的,一个是减少小数位的。点这些图标只是表面上(即显示)变成了2位,实际上还是多位。
方法二:=round(A1,2),向下复制公式即可,四舍五入为两位小数。
方法三:利用写字板软件,将数据显示成两位小数,复制其内容,粘到写字板软件中,在写字板软件中再次复制,粘贴到EXCEL中,这样就全变成真正的2为小数了,这个跟直接手工输入没多少区别
示例2:A1到A4分别输入下面4个数字,然后求和,正确的结果是0,但EXCEL2003中计算的结果不是0,为什么,怎么处理?
-73.45
26.55
21.9
25
EXCEL的浮点运算问题,也可以用ROUND函数解决,用以下公式(公式中保留了2位小数):
=ROUND(SUM(A1:A4),2)
示例3:我想要设置的对象是用函数计算出的结果,这个结果可能有小数,可能没有小数;我想要的效果是:如果有小数就保留两位,如果没有,就不要小数位。
方法一:“格式”→“单元格”→“自定义”→“#0.##” ,这样设置的结果中,不管小数点后是不是0,都保留2位。
方法二:采用函数
=--TEXT(A1,IF(A1=INT(A1),"#","0.00"))
//这种方法可以将结果在单元格中正式显示,但不方便使用函数进行再计算
=TEXT(A1,IF(A1=INT(A1),"#","0.00"))
//这种方法结果仍然可以再参与计算
=VALUE(TEXT(A1,IF(A1=INT(A1),"#","0.00")))
在Excel中快速输入小数方法
在Excel中的中文输入法的状态下,输入小数时很容易将小数点输成句号。
方法1:自动添加小数点
选定要输入小数的单元格,点击“工具”→“选项”,并在弹出界面中点击“编辑”选项卡。勾选“自动设置小数点”复选框,在“位数”框中输入小数位数,比如“2”(保持两位小数),最后单击“确定”即可。这样,只要在单元格中输入相应的数字即可,而不需要输入小数点。
注意:“位数”框中可输入正数,也可以输入负数。例如,如果在“位数”框中输入“3”,然后在单元格中键入“1”,则其值为“0.001”。如果在“位数”框中输入“-3”,然后在单元格中键入“1”,则其值为 “1000”;在选择“自动设置小数点”选项之前输入的数字不受小数位数的影响。
方法2:自定义数据格式
选定要输入小数的单元格,点击“格式”→“单元格”→“数值”,在“分类”下拉框中选择“自定义”。然后,点击“类型”输入框,输入新的格式类型“0.00,”,注意逗号“,”为半角英文字符,最后“确定”即可。
保留N位小数的四舍六入通用公式
//公式假定数据在A2单元格中
//公式中N为保留的小数位数;验证该公式时,将N改为要保留的小数位数
//如果N=1,则该公式的运算结果为:2.550=2.6 / 2.650=2.6 / 2.651=2.7
=IF(MOD(INT(A2*10^N),2)=0,IF(A2*10^N-INT(A2*10^N)=0.5,INT(A2*10^N)/10^n,ROUND(A2,N)),ROUND(A2,N))
网友回应:上述公式中MOD(A2*100,2)中对A2*100的值有限制,因为A2*100的值大于一定数值会出错,现用RIGHT函数来解决这一问题,因此用RIGHT限制为5位数,就不会出错了。
//如果必要,可将ROUND调整到更多位数,如7位
//=IF(ROUNDUP(A2*2,2)=A2*2,IF(MOD(RIGHT(ROUND(A2*100,0),7),2)=1,ROUNDDOWN(A2,2),ROUNDUP(A2,2)),ROUND(A2,2))
=IF(ROUNDUP(A2*N,N)=A2*N,IF(MOD(RIGHT(ROUND(A2*100,0),5),N)=1,ROUNDDOWN(A2,N),ROUNDUP(A2,N)),ROUND(A2,N))