首页专业论文技术应用政策标准解决方案常用资料经验交流教育培训企业技术专家访谈电力期刊
您现在的位置:北极星电力网 > 技术频道 > 技术应用 > excel自定义函数在水质工作中的应用(1)

excel自定义函数在水质工作中的应用(1)

北极星电力网技术频道    作者:佚名   2008/1/16 18:24:01   

 关键词:  Excel 工作

摘要:excel是大家非常熟悉的应用软件,其使用非常方便。尤其是其强大的函数功能,为我们带来了极大方便,但有时我们为实现一项规定的功能,可能用到几个函数或者采用嵌套函数,这样应用起来,也不太方便;或者使用自定义公式进行计算,就没有现成的公式可用。可喜的是,我们可以创建自定义函数udf(user—definedfunction),它的运行与excel中自带的函数完全相同。建立自定义函数有以下几个优点:建立自己特殊的功能和名称的函数;能将复杂的、嵌套的、多个原有的函数组合在一起,发挥更大的威力,使用、维护更加方便。

关键词:函数水质应用

  excel是大家非常熟悉的应用软件,其使用非常方便。尤其是其强大的函数功能,为我们带来了极大方便,但有时我们为实现一项规定的功能,可能用到几个函数或者采用嵌套函数,这样应用起来,也不太方便;或者使用自定义公式进行计算,就没有现成的公式可用。可喜的是,我们可以创建自定义函数udf(user—definedfunction),它的运行与excel中自带的函数完全相同。建立自定义函数有以下几个优点:建立自己特殊的功能和名称的函数;能将复杂的、嵌套的、多个原有的函数组合在一起,发挥更大的威力,使用、维护更加方便。

  比如在水质计算中,高锰酸盐指数的计算公式非常繁琐,而且含必须将结果修约至0.1,还得考虑逢5奇进偶舍的问题。利用计算器逐步计算很是麻烦;在excel中利用单元格引用计算稍有不注意,可能造成计算上差错,而且每次都得建立,很不方便。现在我们利用excel自带的vba编辑器建立自己的函数来解决这个问题。

  首先进入excel,在[工具]→[宏]→[visulbasic编辑器](也可按组合键[alt f11]),在“visulbasic编辑器”中选择[插入]→[添加模块],将模块名称改为“高锰酸盐指数浓度计算公式”,在代码窗口输入下列函数:

  publicfunctioncimn(cassingle,v0assingle,v1assingle,v2assingle,vasinteger)

''高锰酸盐指数计算公式

  dimdotlocationasinteger''定义小数点位置变量

''*************************************************************************

  cimn=((((10 v1)*10/v2-10)-(((10 v0)*10/v2-10)*(100-v)/100)))*c*8000/v

''*************************************************************************

''保留一位小数

''当cimn值小于1时,自动补上个位0

  ifcimn<1then

  cimn=0&cimn

  endif

''确定小数点的位置

dotlocation=instr(cimn,".")

''判断小数点后第二位是否为5

  ifmid(cimn,dotlocation 2,1)=5then

  iflen(cimn)<=dotlocation 2andmid(cimn,dotlocation 1,1)mod2=0then

  cimn=left(cimn,dotlocation 1)''为5且5后没有数和5前一位为偶数,直接用round()函数修约

  else

  cimn=round(cimn,1)

  endif

  else

  cimn=round(cimn,1)''不为5,直接用round()函数修约

  endif

  cimn=format(round(cimn,1),"#0.0")

  endfunction

  我们知道,excel中函数都有一个说明用以帮助使用,我们也要给这个函数添加一个说明。在工具栏中选择“对象浏览器”(如图1),选择我们所做“高锰酸盐指数浓度计算公式”模块,在其[右键]→[属性]中添加关于对这个函数的描述,这个描述将出现在excel中关于函数的说明中,如果你要对软件保密的话,在“模块”上按右键,[vbaproject属性]→[保护中设置密码],别人就看不到你的源程序了。


图1描述函数

  这时,退出,回到excel界面,将这个文件另存为:类型为“microsoftexcel加载宏”,在excel2003中,它会自动更改保存位置为“c:documentsandsettingswzwemc(电脑用户名)applicationdatamicrosoftaddins”(系统装在c:\windows),当然,你也可以把这个文件“高锰酸盐指数浓度计算公式.xla”,直接复制到office\library(office的安装路径下),而在excel97中只能放在后一个位置。使用函数很简单,点击[工具]→[加载宏],在你创建的“高锰酸盐指数浓度计算公式”前打个勾,如图2。在单元格直接输入“=cimn()”,选中相应的参数即可(如图3)。是不是像microsoftoffice提供的函数一样,很有点专业味道。


图2加载宏
图3使用自定义函数

  假如你把调用这个宏的excel文件拷贝到别的机子上运行,会出现“当前所要打开的文档含有其他文档的链接,是否要使用其他工作簿中的改动更新当前工作簿”的提示,可以显示原先计算的数据,这是因为在excel中的[工具]→[选项]→[重新计算]中,一般选中“保存外部链接数据”,但你不能重新计算,因为不能链接这个宏,别人机子上根本就没有这个函数。

  此外,我们还可以为“加载宏”添加相关说明,这样更有利于自定义函数的维护。(如图3),找到“高锰酸盐指数浓度计算公式.xla”,点击[右键]→[属性]→[摘要](如图4),在描述里添加所需内容来对函数进行相关描述,其中“标题”部分将出现在“加载宏”的方框中,“备注”部分将出现在下面的函数说明部分。这时再看看,够不够专业。在excel97中也可以在其右键属性中作相应更改。


图4添加中文描述

来源:找论文网
友情链接
北极星工程招聘网北极星电气招聘网北极星火电招聘网北极星风电招聘网北极星水电招聘网北极星环保招聘网北极星光伏招聘网北极星节能招聘网招标信息分类电子资料百年建筑网PLC编程培训

广告直拨:   媒体合作/投稿:陈女士 13693626116

关于北极星 | 广告服务 | 会员服务 | 媒体报道 | 营销方案 | 成功案例 | 招聘服务 | 加入我们 | 网站地图 | 联系我们 | 排行

京ICP证080169号京ICP备09003304号-2京公网安备11010502034458号电子公告服务专项备案

网络文化经营许可证 [2019] 5229-579号广播电视节目制作经营许可证 (京) 字第13229号出版物经营许可证新出发京批字第直200384号人力资源服务许可证1101052014340号

Copyright © 2022 Bjx.com.cn All Rights Reserved. 北京火山动力网络技术有限公司 版权所有