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