張永華,劉 剛,劉國梁
(黑龍江省水利水電勘測設計研究院,哈爾濱 150080)
Visual Basic和Excel在水文資料統(tǒng)計中的應用
張永華,劉 剛,劉國梁
(黑龍江省水利水電勘測設計研究院,哈爾濱 150080)
水文資料是一切與水相關聯(lián)的國民經(jīng)濟建設的重要基礎信息和決策依據(jù)。水文資料數(shù)據(jù)量大,資料統(tǒng)計的工作量很大,如何提高數(shù)據(jù)統(tǒng)計的速率與準確率,成為工程規(guī)劃設計的問題之一。文章介紹了怎樣利用Excel中的計算功能結合Visual Basic語言編制程序進行實測流量資料統(tǒng)計,說明Visual Basic和Excel在水文資料統(tǒng)計中的應用。
水文資料;編程;統(tǒng)計;Visual Basic;Excel;應用
水文資料是一切與水相關聯(lián)的國民經(jīng)濟建設的重要基礎信息和決策依據(jù)。要解決我國當前面臨的洪澇災害、水資源短缺和水環(huán)境惡化這三大水資源問題,就必須依據(jù)水文資料。在水文水利計算工作中,最重要的一步就是水文資料統(tǒng)計工作,而水文資料統(tǒng)計存在工作量大,人為操作因素影響大,出錯后不易查找等諸多困擾,為后續(xù)的水文分析計算造成阻礙。將水文資料存儲在Excel中,利用Visual Basic編制數(shù)據(jù)統(tǒng)計程序就可以大大降低人為出錯率,提高工作效率。筆者以水文站實測流量資料統(tǒng)計最大1、3、7、15、30日洪量為例,說明Visual Basic和Excel在水文資料統(tǒng)計中的應用。
在水利工程規(guī)劃設計工作中所用到的水文資料大多是由水文測站實測資料經(jīng)過資料整編后的數(shù)據(jù)資料,由地方水文局錄入數(shù)據(jù)庫進行管理。由于工程項目規(guī)劃設計需要,到水文局抄取水文資料。
水文資料從水文局收集,一般以記事本的格式存放,本次資料統(tǒng)計將記事本中數(shù)據(jù)轉(zhuǎn)換到Excel中。打開記事本文件復制數(shù)據(jù),另打開Excel文件點擊單元格A1復制數(shù)據(jù),這樣數(shù)據(jù)會分行顯示在同一列表格中。選中A列點擊菜單中“數(shù)據(jù)(D)”下拉菜單中“分列”,在原始數(shù)據(jù)類型中選擇分隔符號后點擊“下一步”,在分隔符號中選擇Tab鍵和空格后點擊“完成”,見圖1。
按照上述方法將水文站流量資料轉(zhuǎn)換成統(tǒng)一格式,格式見圖2。
圖1 Excel中統(tǒng)計流量資料示意圖
圖2 Excel中水文站流量資料轉(zhuǎn)換示意圖
在Excel中也可進行數(shù)據(jù)統(tǒng)計,如統(tǒng)計最大7日洪量,在單元格中輸入“=sum(D2:J2)*24*3600/10000”,然后向右、向下拖動單元格右下角十字標即可求出連續(xù)7日洪量,但是,當上月月末與下月月初連續(xù)7日洪量就要重新輸入公式,這樣做起來很繁瑣,容易出錯,求最大15日洪量,甚至是最大30日洪量時的工作量就更大,費時費力,還不能保證統(tǒng)計數(shù)據(jù)的準確性。為后續(xù)的規(guī)劃設計工作帶來困擾。
通過Visual Basic程序調(diào)用Excel中“日平均流量”工作表,部分程序代碼如下:
將Excel工作表中日平均流量數(shù)據(jù)統(tǒng)計后輸出在同一個工作表中流量數(shù)據(jù)右側(cè),一列為年份,另一列為逐日流量。其中二月平年為28 d,閏年為29 d,要單獨統(tǒng)計。統(tǒng)計出來的數(shù)據(jù)在一列內(nèi),便于之后的統(tǒng)計計算和數(shù)據(jù)抽樣檢查。
部分程序代碼如下:
圖3 程序調(diào)用示意圖
由上一步統(tǒng)計出的流量系列,可以很容易計算最1、3、7、15、30日洪量,將統(tǒng)計數(shù)據(jù)輸入A列,選中對應天數(shù)數(shù)據(jù)求和,如求最大7日洪量則在單元格B2中輸入“=SUM(A2:A8)*24*3600/10000”,然后向下拖動單元格右下角十字標,即得到連續(xù)7日洪量系列,在此系列中選出最大值就是最大7日洪量,最大3、15、30日洪量計算同理可得。
水文資料統(tǒng)計是水文水利計算的基礎,水文水利計算又是水利規(guī)劃設計的前期工作,因此,水文資料統(tǒng)計在各規(guī)劃設計中占有舉足輕重的地位。筆者在多次水利規(guī)劃設計中運用此程序統(tǒng)計水文資料,如《黑龍江省湯旺河干流梯級水電站規(guī)劃》、《黑龍江省七臺河市汪清水庫增容擴建工程可行性研究》、《松花江佳木斯悅來航電樞紐工程預可行性研究》等。
[1]劉圣才,李春葆.Visual Basic 6程序設計導學[M].北京:清華大學出版社,2002:39-43,109-120.
TP39
B
1007-7596(2011)06-0081-02
2011-08-02
張永華(1983-),女,黑龍江雙鴨山人,助理工程師;劉剛(1954-),男,浙江杭州人,高級工程師;劉國梁(1982-),男,黑龍江哈爾濱人,助理工程師。