工程中的数值修约规则是“4舍6入5看齐,5后有数进上去,尾数为零向左看,左数奇进偶舍弃”。现在用的是一个自定义函数NJW(x, y)(函数作者牛二伟,一直都在用,今天才在网上看到 ,总结的不错写的很好,题目叫:“在EXCEL表解决奇进偶舍问题的新方法”),然后通过Visual Basic编辑器插入模块,在excel运算的过程中调用该自定义函数,实现数值的修约。但是今天发现能实现的只有“4舍6入5看齐,5后面的第一位有数就进位,尾数为零向左看,左数奇进偶舍弃。”并没有完全5后有数就进位的规则,发现只要对函数 小小的修改了哈,就能避免一些修约错误。 函数名称定为:NJW(x, y),x:需要奇进偶舍的数,y:保留的有效位数。具体编写如下: Function NJW(x, y) As Double P = 0.499999999 ‘是偶数时需要加的数(这里原来是0.49现改成0.49999999,后面还可以多写几个9 ) Else P = 0.5 ‘是奇数时需要加的数 End If NJW = Int(x * 10 ^ y + P) / 10 ^ y ‘函数计算公式 具体加入方法: 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表解决奇进偶舍问题的新方法”这篇文章)。 |
|
来自: 金石为开hajyr8 > 《Excel》