杜鵬程
在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)