您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 在EXCEL表解决奇进偶舍问题的新方法
在EXCEL表解决奇进偶舍问题的新方法副标题:作者:牛二伟文章来源:本站原创点击数:246更新时间:2008-7-10摘要:Excel表是水文计算中的的常用软件,为解决“四舍六入,逢五奇进偶舍”的问题编制函数NJW(x,y)加入其中,为以后的计算提供基础依据。关键词:Excel表;奇进偶舍;NJW函数;方法在水文计算的过程中,往往要遇到“四舍六入,奇进偶舍”的问题,在手工计算的时候我们可以人工操作,进去取与舍的判断,但是,在进入计算机计算时,要继续采用如此判断就显得异常烦琐。特别是在Excel电子表格软件作为水文应用最广泛的软件之后,我们水文行业的报表对Excel的要求更高了,用EXCEL来处理数据中只有“四舍五入”的函数(ROUND)命令,对数值进行“四舍六入,逢五奇进偶舍”时,大众化的excel却没有提供一个满足此要求的现成的函数,这在很大程度上限制了人们对excel的运用。如何解决此类问题,成了一个现实的难题。近来,在做水文计算时又遇到了此类问题,特别是循环计算时,有一个结果就需要求进行“四舍六入,逢五奇进偶舍”,采用多个语句进行判别,即烦琐又容易出错。如何解决呢?为了彻底解决此问题,我们首先按进位要求进行分析:根据国标要求数值的修约,采用“四舍六入”法(GB8170-87/GB1-81手册P94):“4舍6入5看齐,5后有数进上去,尾数为零向左看,左数奇进偶舍弃”(5后全为零奇进偶不进)。所谓“四舍六入”,既所要的最后一位数字后的那个数字,如果是4就舍去、是6就进位。所谓“逢五奇进偶舍”,既最后一位数字后的那个数字,如果是5时就进行继续判断,若5后面不是0,那就进位;若是0则看前一位数字,若是奇数则进位,否则舍去。经过以上分析,我们可以总结为:能够进位的情况就是两种。一种是:到需要取舍位置的时候,先看后面的2位数字,如果大于51,则进位。第二种是:需要取舍位置的最后一位是奇数、并且后面的一位是数字5。经过如此总结,我们可以得出:所有需要进位的数字,只要在需要取舍位置的最后加上49就可以了,最后需要的有效位数为奇数时,在需要取舍位置的最后加上50也可以了。有了这些基础就可以进行编程了,我把函数名称定为:NJW(x,y),x:需要奇进偶舍的数,y:保留的有效位数。具体编写如下:IfInt(x*10^y)/2=Int(x*10^y/2)andright(x,1)=5Then‘判断需要保留的最后一位的奇偶P=0.49‘是偶数时需要加的数ElseP=0.5‘是奇数时需要加的数EndIfNJW=Int(x*10^y+P)/10^y‘函数计算公式有了如上程序,我们只要加入到Excel中就可以随时运用了。具体加入方法:1.首先打开EXCEL,选择菜单“工具→宏→VisualBasic编辑器”命令(或按下键盘Alt+F11组合键),打开VisualBasic窗口。2.进入VisualBasic窗口后,选择菜单“插入→模块”命令,于是得到“模块1”,按命令格式输入。在第一行输入:“FunctionNJW(x,y)AsDouble”,然后输入以上内容,在最后一行输入“EndFunction”即可。3.函数自定义完成后,选择菜单“文件→关闭并返回到MicrosoftExcel”命令,返回到Excel工作表窗口。NJW(四舍六入)函数与EXCE自带的ROUND(四舍五入)函数使用方法完全一样。当结果数保留到小数位时,Y为大于0的任何整数;当结果数保留到个位时,Y为0;当结果数保留到十位、百位时,Y为-1、-2。4.通常自定义的函数只能在当前工作薄使用,如果该函数需要在其它工作薄中使用,则选择菜单“文件→另存为”命令,打开“另存为”对话框,选择保存类型为“Mir-cosoftExcel加载宏”,然后输入一个文件名,如“NJW”单击“保存”后文件就被保存为加载宏。然后选择菜单“工具→加载宏”命令,打开“加载宏”对话框,勾选“可用加载宏”列表框中的“NJW”复选框即可,单击“确定”按钮后,就可以在本机上的所有工作薄中使用NJW这个自定义函数了。5.如果想要在其它机器上使用该自定义函数,只要把上面的加载宏文件复制到其它电脑上加载宏的默认保存位置即可。本函数计算的几个例子:数值取舍位数保留数值本函数计算数值取舍位数保留数值本函数计算123.4551123.5123.5123.95511241241.222531.2221.2221.20521.21.21.223531.2241.2241.223431.2231.2231.2224931.2221.2221.222631.2231.2231.2234931.2231.22322512-3230002300023514-3240002400022512-2225002250023500-3240002400022512-1225102251022500-3220002200022512022512225120.23520.240.240.23520.240.240.22520.220.220.22520.220.22本函数可以在Excel表中随意运用,经过本人长时间在长治水文局水文观测资料计算中的应用,完全满足要求,没有一点差错。数字大了或位数多了也不会出现任何问题。完全可以免费下载,放心使用。
本文标题:在EXCEL表解决奇进偶舍问题的新方法
链接地址:https://www.777doc.com/doc-2561483 .html