excel中四舍六入五留双最简单化准确的公式,保留一位小数的。
发布网友
发布时间:2022-05-01 12:52
我来回答
共4个回答
热心网友
时间:2023-10-13 11:06
=IF(MID(A1,FIND(".",A1)+1,1)="5",LEFT(A1,FIND(".",A1)+1),ROUND(A1,0)&".0")
原理:查找小数点,看它后面的数字是不是5,不是5的按四舍五入进位到整数,末位补小数点及0,是5的保留小数点及5。
如:123.456保留为123.0;1234.567保留为1234.5;12345.678保留为12346.0。
热心网友
时间:2023-10-13 11:06
这两个公式都能用,第一个短一点,第二个逻辑好懂一点,随便选一个复制过去就行:
=ROUND(A1,B1)-(ROUNDDOWN(MOD(ABS(A1)*10^(B1+1),20),11)=5)/10^B1*((A1>0)*2-1)
=IF(ROUNDDOWN(MOD(ABS(A1)*10^(B1+1),20),11)=5,ROUNDDOWN(A1,B1),ROUND(A1,B1))
这两个都是excel里把"A1"进行四舍六入保留到"B1"位的函数,针对正负数都通用。
公式里的"B1"可以改成数字使用,想保留几位小数就改成几,保留到十位百位就用"-1""-2"。
注:修约规则参考:GB/T 8170-2008 《数值修约规则与极限数值的表示和判定》。
热心网友
时间:2023-10-13 11:07
公式如下:
=IF(MOD(A1*100,10)>6,CEILING(A1*100,10)/100,IF(MOD(A1*100,10)<4,FLOOR(A1*100,10)/100,IF(MOD(FLOOR(A1*10,1),2)=1,CEILING(A1*100,10)/100,FLOOR(A1*100,10)/100)))
热心网友
时间:2023-10-13 11:07
=mround(a1,5)
热心网友
时间:2023-10-13 11:06
=IF(MID(A1,FIND(".",A1)+1,1)="5",LEFT(A1,FIND(".",A1)+1),ROUND(A1,0)&".0")
原理:查找小数点,看它后面的数字是不是5,不是5的按四舍五入进位到整数,末位补小数点及0,是5的保留小数点及5。
如:123.456保留为123.0;1234.567保留为1234.5;12345.678保留为12346.0。
热心网友
时间:2023-10-13 11:06
这两个公式都能用,第一个短一点,第二个逻辑好懂一点,随便选一个复制过去就行:
=ROUND(A1,B1)-(ROUNDDOWN(MOD(ABS(A1)*10^(B1+1),20),11)=5)/10^B1*((A1>0)*2-1)
=IF(ROUNDDOWN(MOD(ABS(A1)*10^(B1+1),20),11)=5,ROUNDDOWN(A1,B1),ROUND(A1,B1))
这两个都是excel里把"A1"进行四舍六入保留到"B1"位的函数,针对正负数都通用。
公式里的"B1"可以改成数字使用,想保留几位小数就改成几,保留到十位百位就用"-1""-2"。
注:修约规则参考:GB/T 8170-2008 《数值修约规则与极限数值的表示和判定》。
热心网友
时间:2023-10-13 11:07
公式如下:
=IF(MOD(A1*100,10)>6,CEILING(A1*100,10)/100,IF(MOD(A1*100,10)<4,FLOOR(A1*100,10)/100,IF(MOD(FLOOR(A1*10,1),2)=1,CEILING(A1*100,10)/100,FLOOR(A1*100,10)/100)))
热心网友
时间:2023-10-13 11:07
=mround(a1,5)