看了你的“修约”的自定义函数,就是:四舍六入,五的时候分情况:前一位偶-舍,奇-入,五的后面还有数-入。其实还有简单的方法哟:
若你的数据在A1,我们想精确到 ,我们在B1写公式:
=ROUND(A1,1)-(MOD(A1,2)=)
若你的数据在A1,我们想精确到 ,我们在B1写公式:
=ROUND(A1,2)-(MOD(A1,2)=)
以此类推!
去试一试吧!
追问
谢谢您的回答。
您的这种方式有漏洞,,,,因为5前面是偶数,然后5后面没有任何数了。
我的附件它还有个好处,可以修约会到想修约会的陪数, 5等等。
回答
sorry!由于浮点运算的误差,出了点问题!幸好被你明鉴,未酿出大祸!修改如下:
若A1的值,保留到整数,使用公式:
=ROUND(A1,0)-(MOD(A1,2)=)
保留一位小数,我们只需将A1乘以10,结果除以10,即
=(ROUND(A1*10,0)-(MOD(A1*10,2)=))/10
保留二位小数,我们只需将A1乘以100,结果除以100,即
=(ROUND(A1*100,0)-(MOD(A1*100,2)=))/100
以此类推!修改很是方便的哟!
你若想更通用一点,我们可以把修约的精度值放在某个单元格里,,B1写公式:
=(ROUND(A2/C$1,0)-(MOD(A2/C$1,2)=))*C$1
公式是可以下拖复制的,你可以改变一下C1的值去试一试!
如果你还是想用“自定义函数的方法”,稍候再叙!
追问
非常感谢你的帮助!要是能够用一种内嵌的函数会更好些,那样不必要另起一行来计算。还有不光是修约的合理性达到要求,最好还可以像我上传的附件那样任意给定值的陪数关系来准确修约(,,,,,,。在工程里面用的也比较多。
回答
看截图,你应该是 Excel 2010吧!自己做一个“函数”吧:
打开excel,Alt + F11,打开VBE,【插入】【模块】,【插入】【过程】,输入函数名:xiuyue,点选“函数”,在代码窗口,粘贴下面的代码:
Public Function XiuYue(ByVal BeiXiuYue As Double, ByVal JingQueDao As Double) As Double
利用EXCEL进行修约的计算方法 来自淘豆网www.taodocs.com转载请标明出处.