杜鹏程
在Excel VBA中实现水环境质量评价
杜鹏程
在环境质量评价研究中,特别是水环境质量评价时,需要对地表水、地下水、湖泊等大量的监测数据进行水质评价,迄今还没有一个通用的具有可比性的水质评价方法。不同部门进行水质评价时,选用数学模型的任意性很强,常常不能反映本地的污染状态。2011年3月9日,环境保护部发布了《关于印发〈地表水环境质量评价办法(试行)〉》的通知》(环办〔2011〕2号),统一了地表水评价方法,而对于水质评价采用何种计算软件没有作出规定,现行监测数据的保存和水质的评价,仍沿袭以往人工运用Excel表格,计算时经常需要用到单元格填充功能,常用插入函数与填充柄来完成。这种重复性的填充和插入函数容易出现错误,工作效率及准确性差,这就给评价工作带来了困难,甚至无法计算出正确的评价结果。因此,如何实现水质环境质量评价的自动化、功能化将评价人员从单调耗时的工作中解放出来,是一个急待解决的问题。
本文应用VBA语言编写嵌入式模块,开发了水质监测数据进行自动化的评价方法,通过实际应用可以看出这种方法不仅对地表水数据评价的效率、准确度高,而且可移植到湖泊、地下水、海水等水质评价中,具有较强的通用性和扩展性。
河流断面水质类别评价采用单因子评价法,即根据评价时段内该断面参评的指标中类别最高的一项来确定。描述断面的水质类别时,使用“符合”或“劣于”等词语。断面水质类别与水质定性评价分级的对应关系见表1。
表1 断面水质评价表
因此,计算中首先需要对每一个断面的参评指标按照水质标准计算出各参评指标的水质类别,之后再按参评指标的水质类别的最高一项求出断面的水质类别,从而判断出水质状况。
评价指标的水质类别运用了计算机语言最基本循环选择语法,对每一数据值,首先找到其所属标准类别,然后根据标准值从优往劣比较,看在哪一区间,从而判断出其水质类别。
1.Excel水质评价数据表设计
应用计算机进行科学计算,通常需要建立数据输入和结果输出两个数据表,就水质评价而言,为程序设计更优化,还需要增加一个存放水质评价标准的数据表以便程序调用和标准的增加及修改。程序设计之前,首先新建一个Excel,并在Excel中共建4个数据表,分别取名为“数据”、“数据”处理后、“结果”、“标准”,最后将该工作簿保存一个名为“水质评价”的Excel文件。
2.程序设计
为了简化手工处理过程,笔者使用应用程序开发语言VBA在Excel下编写宏程序,自定义Excel工具栏,菜单栏和界面,简化模板的使用,使用户在运用水质评价方法中,依次点击“数据处理”和“水质计算”按钮,即可得到水质评价结果。基于上述水质评价方法和数据表设计后,用VBA实现水质评价的程序代码如图1。
图1 水质评价方法程序代码图
以某河流不同断面水质监测结果为例,从中筛选出溶解氧、高锰酸盐指数、化学需氧量、五日生化需氧量、氨氮、总磷等6项作为河流水质评价指标。应用程序进行水质评价时,首先将原始数据输入到“数据”表中(如图2),然后将评价标准数据输入到“标准”表中(如图3),最后直接点击“水质计算”按钮,便得到用户所需要的结果(见图4),即计算出了断面各指标的水质类别、断面水质等级,对照表1可以得出断面水质状况。
图2 水质数据输入清单图
图3 水质标准输入清单图
图4 水质评价结果输出清单图
(1)水质监测数据通常采用Excel表格进行存储、计算及分析,因此应用Excel VBA平台进行水质评价无需借助其他开发软件,协同性较好,开发成本低,简单易行,编程工作量较小。
(2)应用ExcelVBA程序对水质数据进行评价,操作简单,运算快速。实例的12组水质数据,只需单击“水质计算”按键,立即就能得到准确的评价结果,数据处理速度大大加快,工作效率提高显著。
(3)应用Excel VBA对河流型水质评价灵活应用性有较大的提高。由于程序代码具有可移植的特性,因此针对不同的地表水类型的水质评价问题,只要对Excel VBA程序做少量的修改即可应用于地下水、湖泊、海水类型水质评价■
(作者单位:淮河流域水资源保护局淮河水资源保护科学研究所 233001)