仪器信息网APP
选仪器、听讲座、看资讯

【第三届原创参赛】Excel中数值修约宏函数编程及检定有效期函数在检测领域的应用(10月)(临时置顶)

  • abcdefghijkl123
    2010/10/01
  • 私聊

仪器检定/校准/计量

  • 维权声明:本文为abcdefghijkl123原创作品,本作者与仪器信息网是该作品合法使用者,该作品暂不对外授权转载。其他任何网站、组织、单位或个人等将该作品在本站以外的任何媒体任何形式出现均属侵权违法行为,我们将追究法律责任

    Excel
    中数值修约宏函数编程及检定有效期函数在检测领域的应用







    摘要:Excel电子表格中没有适用于《数值修约规则》(GB/T8170-2008)的函数,通过编写数值修约宏函数并在检测领域中得以广泛应用,真正做到了数据处理的迅速,准确。另通过函数公式实现计量器具检定有效期的自动计算,也极大地提高了检测机构的效率。

    关键词:数值修约 修约间隔 计量器具 检定周期 VBA语言 函数公式





    1、 前言

    众所周知,在从事检测业务中,我们每个人每天都在与数据打交道,对数据的处理,我们检测人员参照的是GB/T8170-2008的修约规则:即“四舍六入五留双,五后有数(非零)皆进一,五后无数看奇偶。”



    2、 国标中数据修约的基本含义

    GB/T8170-2008中数据处理最重要的概念主要有数值修约和修约间隔。数据修约是根据保留位数的要求,将其多余位数的数字进行取舍,按照一定的规则取一个数值为修约间隔整数倍的数来代替拟修约数。这一过程即为数据修约,也称为数的化整或数的凑整;而修约间隔它是确定修约保留位数的一种方式。修约间隔一般用k×10n(k=1,2,5;n为正、负整数)。一个数值一旦确定了修约间隔,则修约后的数值一定是修约间隔的整数位。其取舍规则:当拟舍取的数字的最左一位数小于5则舍,大于5则进;当5的后面有数字(非0)时,不管其前是奇还是偶皆进一;当等于5或5后面皆为0时,所保留的末位数为奇数(1、3、5、7、9)则进;偶数(2、4、6、8、0)则舍。这就是所谓的“五后有数(非零)皆进一,五后无数看奇偶,四舍六入五留双。

    例1:修约间隔为0.001(即小数点后保留3位数)

    2.0145—2.014

    例2:修约间隔为0.01

    2.0051—2.01

    例3:修约间隔为5

    46.002×2—92.004—90÷2—45



    3、 检测中的数据处理

    检测中的数据是形成检测结果以及形成最终结论的重要组成部分,大部分的检测数据只是中间结果,需要通过计算才能得出最终结果。在计算过程中,必须进行数据的修约,正确的检测过程、数据修约是形成正确检测结论的基础,为了提高数据处理的速度和准确性,部分检测内容应用Excel电子表格进行数据录入、计算直至形成报告。如果修约靠人工计算既慢又容易出错,但是Excel电子表格中的所有函数均不能实现正确的数据修约,为此应用Excel中自带的VBA语言自行开发,使开发的函数满足应用工作需要是一项有实际工作意义的项目。

    (1) 宏函数的建立

    a. 打开空白的Excel电子表格并进入VBA编辑器。

    b. VBA编辑窗口中插入一个模块,在编辑窗口添加如下VBA语言的函数体。编辑完后选择菜单文件关闭并返回到Microsoft Excel”命令,返回到Excel工作表窗口,这样就可以利用自定义函数完成按GB/T8170-2008规则进行数值修约了。如图1:





    1 数值修约宏函数编写窗口



    (备注:函数myroundx,y)中x—拟修约的数;y—修约间隔)

    c. 点击【文件】另存为加载宏。

    通常,自定义的函数只能在当前工作薄使用,如果该函数需要在其它工作薄中使用,则选择菜单文件另存为命令,打开另存为对话框,选择保存类型为“Mircosoft Excel加载宏,然后输入一个文件名,如“myround”单击确定后文件就被保存为加载宏。然后选择菜单工具加载宏命令,打开加载宏对话框,勾选可用加载宏列表框中的“myround”复选框即可,单击确定按钮后,就可以在本机上的所有工作薄中使用该自定义函数了。但注意的是,Excel【工具】宏\安全性\安全级别设置为“中”。至此该函数如同Excel内置函数一样可以自动计算了。

      如果想要在其它机器上使用该自定义函数,只要把上面的加载宏文件复制到其它电脑上加载宏的默认保存位置即可。

      说明:Windows XP系统下加载宏文件的默认保存位置为:C:\Documents and Settings\zunyue(用户帐户)\Application Data\Microsoft\AddIns文件夹。

    d. 函数的验证与应用

    对于编写的宏函数,其应用如同Excel中所有函数一样。应用数值修约宏函数计算的结果与手工计算完全吻合,从而验证了函数的正确性。



    4、 检定有效期的自动计算

    检定有效期是计量仪器设备档案管理中一个重要内容,只要给定检定周期,很容易就可以通过工作簿函数计算出检定有效期。计算检定有效期的关键是灵活运用函数DATE(year,month,day)、YEAR(serial_number)、MONTH(serial_number)、和DAY(serial_number)。

    在实际应用时采用的函数是DATEYEARserial_number),MONTH(serial_number)+检定周期,DAY(serial_number)-1)计算示例如图2所示:



    2 检定有效期自动计算示例图





    5. 结语

    从事检测工作的人员每天都在对测定数值进行计算。 Excel的功能非常强大,其自带的VBA语言进行自行开发,可大大简化我们的工作计算任务,不必机械地进行繁琐的计算,极大地提高我们的工作效率。由于知识所限,还望各位同盟一起学习讨论VBA语言的宏函数编程:如各种不同类型不确定度的计算等。



    参考文献



    【1】 Excel 2007公式与函数应用宝典. 路晓清等著. 电子工业出版社.

    【2】 GB/T8170-2008. 中华人民共和国国家标准. 数值修约规则.

    Rounding values in Excel macro programming and verification functions detect valid function in the field of application





    Summary: Excel spreadsheet does not apply to "Rules for rounding values" (GB/T8170-2008) function, through the preparation of the macro function and numerical rounding areas in the test to be widely used, and ensure rapid data processing, accurate . Another function formula achieved by measuring instruments to achieve the automatic calculation of test validity, but also greatly improve the efficiency of the testing organization.

    Key words: numerical rounding interval measurement apparatus for rounding VBA macro language function test cycle formula
  • 该帖子已被管理者-设置为精华,下面是奖励记录:
  • 该帖子已被版主-工农兵加10积分,加2经验;加分理由:积极参与大赛!
    +关注 私聊
  • abcdefghijkl123

    第1楼2010/10/01

    哈哈,这可是我学了一个月的VBA语言在检测行业中的运用。终于可以赶在国庆期间发表了

0
    +关注 私聊
  • abcdefghijkl123

    第2楼2010/10/01

    我的这一文章对于你们检验人员来说,在数据处理方面有一定的作用吗

0
    +关注 私聊
  • 青林

    第3楼2010/10/01

    数值修约规则:

    有的数字还是只进原则

0
    +关注 私聊
  • abcdefghijkl123

    第4楼2010/10/02

    你有在你的电脑中编写宏模块吗,并且加载宏吗,只进原则,你可以具体举一个例子,我来试试,我的这个宏函数应该是按照GB/T817-2008的规则去修约了

0
    +关注 私聊
  • huanbaoxing2010

    第5楼2010/10/02

    谢谢你的论文分享了

0
    +关注 私聊
  • 小虾米

    第6楼2010/10/02

    四舍六入五成双是药典最基本的规律

0
    +关注 私聊
  • abcdefghijkl123

    第7楼2010/10/06

    是啊,但是我现在是用宏来自动修约的,如果是用excel的话,是四舍五入原则啊

0
    +关注 私聊
  • poorlittle

    第8楼2010/10/06

    修约间隔为100可以吗?
    12345 --> 12300

0
    +关注 私聊
  • abcdefghijkl123

    第9楼2010/10/06

    可以的,按我的方法在你的电脑excel中编好宏后,加载宏,在编辑公式栏中输入=myround(12345,100)即可,电脑会自动显示为12300的,你可可试试看,如有疑问,可发站内信的

0
  • 该帖子已被管理者-设置为精华,下面是奖励记录:加20积分,加5声望
    +关注 私聊
  • huangchangsheng

    第10楼2010/10/06

    不错的资料,可以学习下

0
查看更多
猜你喜欢最新推荐热门推荐更多推荐
举报帖子

执行举报

点赞用户
好友列表
加载中...
正在为您切换请稍后...