建筑工程材料检测数据的数值修约在excel中的实现

时间:2024-01-14 点赞:55577 浏览:117785 作者原创标记本站原创

本文是一篇函数论文范文,关于函数毕业论文开题报告,关于建筑工程材料检测数据的数值修约在excel中的实现相关开题报告范文。适合函数及数值及参考文献方面的的大学硕士和本科毕业论文以及函数相关开题报告范文和职称论文写作参考文献资料下载。

【摘 要】excel中没有提供能符合按GB/T8170-2008要求数值修约的函数.本文通过excel自带的子函数进行编写,实现了按国标GB/T8170-2008进行修约,经测试,函数能满足标准要求,具有推广价值.

【关 键 词】数值;修约;函数

1.前言

Microsoftexcel是微软公司开发的办公软件microsoftoffice的重要组件之一.Excel由于具有强大的数据处理功能,在工程类日常应用非常广泛.而在技术资料的数据处理当中,经常要对数值进行修约以达到要求的精度.而excel中却没有提供专门的数值修约函数,只能对数值按“四舍五入”规则进行处理,而工程数据处理一般都是对结果按规范进行数值修约,用人工进行修约,繁琐而且易出错.

利用excel强大的数据处理功能,专门编制了能够在excel中直接对数值进行修约的函数以及在宏中的实现.

2.数值修约的有关规定

数值修约国家标准规范GB/T8170-2008《数值修约规则与极限数值的表示和判定》对数值修约的进舍规则如下:

1)拟舍弃数字的最左一位数字小于5时,则舍去,即保留的各位数字不变.

2)拟舍弃数字的最左一位数字大于5,或则是5,而且后面的数字并非全部为0时,则进1,即保留的末位数加1.

3)拟舍弃数字的最左一位数字为5,而后面无数字或全部为0时,若所保留的末位数为奇数(1,3,5,7,9)则进1,为偶数(2,4,6,8,0)则舍弃.

4)负数修约时,取绝对值按照上述1~3规定进行修约,再加上负号

5)0.2单位修约或者0.5单位修约时,分别将拟修约数值X乘以5、乘以2,按指定修约间隔按5X、2X进行修约,所得数值再除以5、除以2.

3.数值修约的逻辑分析及函数设计流程

从以上修约规则可以看出,对于正整数修约到1的情况,数值修约规则与excel提供的Round函数的唯一区别在于,当拟修约值个位数为偶数而且拟舍弃数字刚好为0.5时,按Round函数修约的个位数有进1,而按GB/T8170-2008修约规则进行修约的,个位数没有进1.按照这种情况,我们只需要挑出这种特殊情况,其它情况都可以按照Round函数进行“四舍五入”.假设需要修约至Y,Y值为修约间隔与单位修约的乘积,如我们通常说的修约至5,即是修约间隔为10,按0.5单位修约.函数运算的框架图如下,

根据上述流程,给出能够在excel中实现数值修约的自编函数如下:

等于IF(AND(MOD(ABS(A1/Y),1)等于0.5,MOD(INT(ABS(A1/Y)),2)等于0),ROUNDDOWN(A1/Y,0)*Y,ROUND(A1/Y,0)*Y)

A1为待修约数值所在excel的单元格的位置,Y为我们需要修约至的数值.

4、对数值修约自编函数的具体分析

本函数通过把拟修约数A1除以需修约至的数Y简化成整数修约至1的问题,修约结果再乘以Y以得到正确的修约数值,符合0.2单位修约和0.5单位修约原则的精神.函数具体分析如下:

1)ABS(A1/Y)是对A1/Y进行取绝对值,确保函数在负数的情况下判断是正确的;

2)MOD是除余函数,MOD(a,b),返回a除以b的余数.MOD(ABS(A1/Y),1)等于0.5判断拟舍弃数字是否为Y/2,MOD(INT(ABS(A1/Y)),2)等于0判断拟保留数字是否为偶数;

3)AND是并列条件函数,AND(条件1,条件2,等),表示括号内的所有条件都为真时才为真,AND(MOD(ABS(A1/Y),1)等于0.5,MOD(INT(ABS(A1/Y)),2)等于0)判断拟保留数字是否为偶且拟舍弃数字是否为Y/2;

4)ROUNDDOWN是向绝对值小的舍去,ROUNDDOWN(A1/Y,0)*Y即是直接舍弃拟舍弃数字;

5)ROUND函数是对数字绝对值进行“四舍五入”进行运算,ROUND(A1/Y,0)*Y是按“四舍五入”的原则的拟修约数进行取值;

6)IF是条件语句,IF(逻辑条件,条件为真时返回值,条件为假时返回值),本函数的逻辑为判断拟保留数字为偶数,且拟舍弃数字刚好为Y/2两个条件都成立时,直接舍弃拟舍弃数字,否则按“四舍五入”进行计算保留.

5.编写VBA函数

打开模块代码编写窗体.方法为:选择“工具”菜单下的“宏”,再选择visualbasic编辑器,在visualbasic编辑器界面中,选择“插入”菜单中的“模块”命令,即出现模块代码编辑器,随后编辑器里输入如下代码:

PublicFunctiongbxy(aAsDouble,bAsDouble)

x等于Abs(Round(a/b,13))

SelectCasex-Int(x)

CaseIs等于0.5

IfInt(x)/2等于Int(Int(x)/2)Then

gbxy等于Int(x)*b*a/Abs(a)

Else

gbxy等于Round(a/b,0)*b

EndIf

CaseElse

gbxy等于Round(a/b,0)*b

EndSelect

Endfunction

输入完毕后,选择“文件”菜单中的“关闭并返回到Microsoftexcel”命令,代码即被保存,函数编写完成.

这样,可以和excel自带的函数一样使用国标修约gbxy函数了,例如拟修约A1单元格,修约至5,可在某单元格输入等于gbxy(A1,5),修约至0.2,则在单元格输入等于gbxy(A1,0.2),本函数适用于正负数的修约以及0.2和0.5单位修约的情况,完全能够满足GB/T8170-2008数值修约的要求.

6.结语

经过测试自编函数及自定义VBA函数满足标准的要求,实现了数字的修约.自编函数虽然代码比较长,看起来比较烦,用起来相对自定义VBA函数比较不方便,但是把修约至的数Y设置成某单元格如A2,对于拟修约数字较少,特别是Y值非1手工修约比较麻烦的情况下,辅助验证手工修约非常方便,有助于数据的校核验证.


相关论文

建筑工程材料检测技术

该文是交通工程专业建筑工程材料论文范文,主要论述了建筑工程材料方面有关毕业论文题目,与建筑工程材料检测技术相关论文范本,适合建筑工。

建筑工程材料检测技术

本文是一篇建筑材料论文范文,建筑材料方面有关专科毕业论文开题报告,关于建筑工程材料检测技术相关毕业论文开题报告范文。适合建筑材料及建。

建筑工程材料检测技术

本文是一篇建筑工程材料论文范文,关于建筑工程材料类在职毕业论文开题报告,关于建筑工程材料检测技术相关专科毕业论文范文。适合建筑工程材。

建筑工程材料检测试验常见问题

本文是一篇建筑工程论文范文,建筑工程有关毕业论文格式模板,关于建筑工程材料检测试验常见问题相关毕业论文范文。适合建筑工程及建筑材料及。

提高建筑工程材料质量检测的措施

本文是一篇建筑材料论文范文,关于建筑材料相关毕业论文模板,关于提高建筑工程材料质量检测的措施相关学年毕业论文范文。适合建筑材料及工程。

建筑工程材料的试验和检测

本文是一篇试验检测论文范文,试验检测类毕业论文,关于建筑工程材料的试验和检测相关在职毕业论文范文。适合试验检测及建筑材料及工程材料方。

探究建筑工程材料质量检测

本文是一篇建筑材料论文范文,关于建筑材料相关专升本毕业论文开题报告,关于探究建筑工程材料质量检测相关毕业论文模板范文。适合建筑材料及。

建筑工程材料质量检测

本文是一篇监理工程师论文范文,监理工程师有关函授毕业论文,关于建筑工程材料质量检测相关毕业论文的格式范文。适合监理工程师及建筑材料及。

建筑工程材料试验检测技术

本文是一篇试验检测论文范文,试验检测方面有关在职研究生毕业论文,关于建筑工程材料试验检测技术相关毕业论文参考文献格式范文。适合试验检。