分享

EXCEL表数值修约4舍6入5单双函数的一些心得

 金石为开hajyr8 2016-11-15

工程中的数值修约规则是“465看齐,5后有数进上去,尾数为零向左看,左数奇进偶舍弃”。现在用的是一个自定义函数NJW(x, y)(函数作者牛二伟,一直都在用,今天才在网上看到 ,总结的不错写的很好,题目叫:“EXCEL表解决奇进偶舍问题的新方法),然后通过Visual Basic编辑器插入模块,在excel运算的过程中调用该自定义函数,实现数值的修约。但是今天发现能实现的只有“4舍6入5看齐,5后面的第一位有数就进位,尾数为零向左看,左数奇进偶舍弃。”并没有完全5后有数就进位的规则,发现只要对函数 小小的修改了哈,就能避免一些修约错误。

函数名称定为:NJW(x, y)x:需要奇进偶舍的数,y:保留的有效位数。具体编写如下:

Function NJW(x, y) As Double
       If Int(x * 10 ^ y) / 2 = Int(x * 10 ^ y / 2) Then    ‘
判断需要保留的最后一位的奇偶

P = 0.499999999                         ‘是偶数时需要加的数(这里原来是0.49现改成0.49999999,后面还可以多写几个9 

Else

P = 0.5                                   ‘是奇数时需要加的数

End If

NJW = Int(x * 10 ^ y + P) / 10 ^ y             ‘函数计算公式
   End Function

具体加入方法:

1.首先打开EXCEL,选择菜单“工具→宏→Visual Basic编辑器”(03的excel)命令(或07的按键盘Alt+F11组合键),打开Visual Basic窗口。

2. 进入Visual Basic窗口后,选择菜单“插入→模块”命令,于是得到“模块1”,按命令格式输入。输入以上内容即可。

3. 函数自定义完成后,选择菜单“文件→关闭并返回到Microsoft Excel”命令,返回到Excel工作表窗口。NJW(四舍六入)函数与EXCE自带的ROUND(四舍五入)函数使用方法完全一样。当结果数保留到小数位时,Y为大于0的任何整数;当结果数保留到个位时,Y为0;当结果数保留到十位、百位时,Y为-1、-2。

4.通常自定义的函数只能在当前工作薄使用,如果该函数需要在其它工作薄中使用,则选择菜单“文件→另存为”命令,打开“另存为”对话框,选择保存类型为“Mir-cosoft Excel加载宏”,然后输入一个文件名,如“NJW”单击“保存”后文件就被保存为加载宏。然后选择菜单“工具→加载宏”命令,打开“加载宏”对话框,勾选“可用加载宏”列表框中的“NJW”复选框即可,单击“确定”按钮后,就可以在本机上的所有工作薄中使用NJW这个自定义函数了。(后面的这几段是摘抄自“EXCEL表解决奇进偶舍问题的新方法”这篇文章)。
   这个函数用了一年多了,真心不错,很好用,在这里感谢作者的提供,真的给我们的工作带来了很多方便。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多