亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        利用Excel自定義函數(shù)同時(shí)滿足多種數(shù)據(jù)處理要求

        2012-05-18 06:59:16黃文超
        海峽科學(xué) 2012年11期
        關(guān)鍵詞:質(zhì)量保證數(shù)據(jù)處理

        黃文超

        ?

        利用Excel自定義函數(shù)同時(shí)滿足多種數(shù)據(jù)處理要求

        黃文超

        三明市環(huán)境監(jiān)測(cè)站

        通過Excel軟件中的自定義函數(shù)功能,使Excel表格的計(jì)算功能符合環(huán)境監(jiān)測(cè)質(zhì)量保證中對(duì)小數(shù)點(diǎn)位數(shù)、有效位數(shù)、四舍六入等數(shù)據(jù)處理要求,充分發(fā)揮Excel軟件的普及性和易用性,提高環(huán)境監(jiān)測(cè)數(shù)據(jù)處理時(shí)的自動(dòng)化水平及工作效率。

        數(shù)據(jù)處理 自定義函數(shù) 小數(shù)點(diǎn)位數(shù) 有效位數(shù) 四舍六入

        1 背景介紹

        Excel作為日常辦公數(shù)據(jù)處理軟件,具有巨大的優(yōu)勢(shì),它普及性廣,易用性強(qiáng),是環(huán)境監(jiān)測(cè)數(shù)據(jù)處理中重要的工具軟件之一。但環(huán)境監(jiān)測(cè)質(zhì)量保證中對(duì)數(shù)據(jù)處理有更高的要求,比如數(shù)據(jù)四舍六入處理的要求,保留小數(shù)點(diǎn)位數(shù)的要求,保留有效位數(shù)的要求,這些都限制了Excel在監(jiān)測(cè)數(shù)據(jù)處理中的使用。通過Excel自帶的VBA編程語(yǔ)言,我們能夠極大地?cái)U(kuò)展Excel的功能,定制出符合環(huán)境監(jiān)測(cè)質(zhì)量保證所要求的自定義函數(shù)。

        目前用VBA定制的四舍六入的函數(shù)很多,但同時(shí)包含處理保留小數(shù)點(diǎn)位數(shù)要求及保留有效位數(shù)要求的自定義函數(shù)還沒有見過,由于筆者在日常工作中經(jīng)常需要對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行處理,因此自己編寫了滿足質(zhì)控要求的自定義函數(shù),在此基礎(chǔ)上還加入了對(duì)不同項(xiàng)目,相同項(xiàng)目不同方法的處理,最核心的程序和思路將在下文介紹。

        2 程序編制

        首先打開Excel程序(以Excel2003為例),在工具欄中點(diǎn)擊“工具”,在下拉菜單中選擇“宏”,在其右側(cè)彈出菜單中選擇“Visual Basic 編輯器”進(jìn)入,點(diǎn)擊工具欄上的“插入”菜單,選擇“模塊”,就可以開始自定義函數(shù)編輯工作了。

        Public Function datafunction(onum As Double, d As Integer, a As Integer) As Variant

        'datafunction: 自定義函數(shù)名,并且將其結(jié)果按字符數(shù)據(jù)類型輸出。onum為引用參數(shù),即需處理的數(shù)據(jù),d為分析項(xiàng)目對(duì)小數(shù)點(diǎn)位數(shù)要求的參數(shù),a為分析項(xiàng)目對(duì)有效位數(shù)要求的參數(shù)。

        Dim dnum As Integer, anum As Integer, tnum As Double, pnum As Double, ynum As Double, m As Integer, xnum As Double, x As Double, n As Integer, tail As String

        On Error GoTo errorhandler

        'dnum為小數(shù)點(diǎn)位數(shù)限制參數(shù),anum為有效位數(shù)限制參數(shù)。

        dnum = d

        anum = a

        程序中對(duì)同時(shí)有小數(shù)點(diǎn)位數(shù)限制和有效位數(shù)限制是這樣處理的,當(dāng)數(shù)據(jù)有效位數(shù)中的小數(shù)點(diǎn)部分位數(shù)大于小數(shù)點(diǎn)位數(shù)限制時(shí),以小數(shù)點(diǎn)位數(shù)限制來修約數(shù)據(jù),否則以有效位數(shù)來修約數(shù)據(jù)。

        tnum = Abs(onum)

        pnum = Abs(onum)

        With Application.WorksheetFunction

        '首先判斷數(shù)值是否為零。

        If onum = 0 Then

        If anum = 1 Then

        datafunction = 0

        Else

        If anum - 1 >= dnum Then

        datafunction = 0 & "." & .Rept("0", dnum)

        Else

        datafunction = 0 & "." & .Rept("0", anum - 1)

        End If

        End If

        Exit Function

        ElseIf dnum > 14 Then

        'excel中數(shù)值默認(rèn)以雙精度浮點(diǎn)數(shù)來存儲(chǔ),這樣的結(jié)果就是超過15位的有效數(shù)值其實(shí)都是近似數(shù),不僅計(jì)算無意義,而且比較表達(dá)式不能獲得等值結(jié)果。

        datafunction = "超出存儲(chǔ)精度"

        Exit Function

        ElseIf -Int(.Log(pnum)) > dnum And .Log(pnum) < 0 Then

        '判斷原始數(shù)據(jù)是否是小于1,并且其小數(shù)點(diǎn)后的數(shù)據(jù)串位數(shù)是否大于小數(shù)點(diǎn)位數(shù)的限制。

        If anum = 1 Then

        datafunction = 0

        Else

        If anum - 1 >= dnum Then

        datafunction = 0 & "." & .Rept("0", dnum)

        Else

        datafunction = 0 & "." & .Rept("0", anum - 1)

        End If

        End If

        Exit Function

        End If

        以上代碼是根據(jù)條件對(duì)原始數(shù)據(jù)進(jìn)行判斷,排除不需要進(jìn)行四舍六入處理的數(shù)據(jù)。

        '以下是對(duì)于需要進(jìn)行四舍六入計(jì)算的數(shù)據(jù)進(jìn)行預(yù)處理:

        If -(Int(.Log(pnum)) - anum + 1) > dnum Then

        tnum = pnum * 10 ^ (dnum)

        xnum = dnum

        Else

        tnum = pnum / 10 ^ (Int(.Log(pnum)) - anum + 1)

        xnum = -(Int(.Log(pnum)) - anum + 1)

        End If

        以下是對(duì)數(shù)據(jù)進(jìn)行四舍六入的處理:

        If Right(tnum, 2) = 0.5 And Right(Int(tnum), 1) Mod 2 = 0 Then

        pnum = .RoundDown(pnum, xnum)

        Else

        pnum = .Round(pnum, xnum)

        End If

        If Int(.Log(pnum)) + 1 >= anum Then

        If anum = 1 Then

        tail = "#" & "E+#"

        Else

        tail = "#." & .Rept("0", anum - 1) & "E+#"

        End If

        Else

        tail = "0." & .Rept("0", xnum)

        End If

        datafunction = .Text(Sgn(onum) * pnum, tail)

        End With

        '當(dāng)程序出錯(cuò)時(shí)進(jìn)行的處理,避免陷入死循環(huán)。

        errorhandler:

        Exit Function

        End Function

        3 實(shí)例和擴(kuò)展

        自定義函數(shù)編輯完成后,就可以在表格中像Excel自帶函數(shù)一樣調(diào)用它,另外還可以將需要使用的自定義函數(shù)都編輯在一個(gè)模塊內(nèi),然后右鍵點(diǎn)擊模塊名,彈出一個(gè)菜單,選擇“導(dǎo)出文件”,命名后保存,再導(dǎo)入其它電子表格,這樣其它的表格就都可以使用該模塊內(nèi)的自定義函數(shù),方便而快速。下圖是一些數(shù)據(jù)用該函數(shù)處理后的結(jié)果,日常使用中未發(fā)現(xiàn)錯(cuò)誤。需要說明的是,計(jì)算結(jié)果以科學(xué)計(jì)數(shù)法表示,若需要直接顯示,原程序稍加修改即可實(shí)現(xiàn)。

        在此函數(shù)基礎(chǔ)上,還可以建立各類分析項(xiàng)目庫(kù)的函數(shù)、分析方法庫(kù)的函數(shù)及相應(yīng)的檢出限庫(kù)的函數(shù),將這些庫(kù)函數(shù)與該函數(shù)相結(jié)合,定制出非常方便實(shí)用的數(shù)據(jù)處理表格。比如地表水的表格,通過選擇表格上的分析項(xiàng)目及分析方法,檢出限、有效位數(shù)、小數(shù)點(diǎn)位數(shù)等限制會(huì)自動(dòng)顯示并參與到計(jì)算中,這樣的數(shù)據(jù)處理表格準(zhǔn)確、方便、高效,如下圖所舉例子。

        4 結(jié)論

        VBA自定義函數(shù)讓Excel數(shù)據(jù)統(tǒng)計(jì)功能更加符合環(huán)境監(jiān)測(cè)數(shù)據(jù)處理的質(zhì)量保證要求,通過自己編寫和導(dǎo)入相應(yīng)的函數(shù)可以準(zhǔn)確、快速、方便地對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行處理,大大提高監(jiān)測(cè)人員的工作效率。同時(shí)還能根據(jù)分析方法的要求進(jìn)行相應(yīng)的調(diào)整和修改(例如總氮的HJ 636-2012標(biāo)準(zhǔn)就提出根據(jù)分析結(jié)果采取不同的數(shù)據(jù)處理方式)。筆者拋磚引玉,希望有更多更好的方法能夠運(yùn)用于環(huán)境監(jiān)測(cè)工作中,為環(huán)境監(jiān)測(cè)工作的快速發(fā)展盡一份力。

        [1] 中國(guó)環(huán)境監(jiān)測(cè)總站《環(huán)境水質(zhì)監(jiān)測(cè)質(zhì)量保證手冊(cè)》編寫組. 環(huán)境水質(zhì)監(jiān)測(cè)質(zhì)量保證手冊(cè)[M].北京:化學(xué)工業(yè)出版社,1994.

        [2] GB 8170-87,數(shù)值修約規(guī)則[S].

        [3] Microsoft Excel Visual Basic Reference[EB/OL]. http://msdn.microsoft.com /en-us/ library/aa269683(v=office.10)

        猜你喜歡
        質(zhì)量保證數(shù)據(jù)處理
        田灣核電站運(yùn)行階段質(zhì)量保證分級(jí)管理
        田灣核電站運(yùn)行階段質(zhì)量保證分級(jí)管理
        認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
        焊接技能評(píng)定過程中的質(zhì)量保證要求
        ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
        關(guān)于如何做好水質(zhì)環(huán)境監(jiān)測(cè)的質(zhì)量保證研究
        MATLAB在化學(xué)工程與工藝實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
        質(zhì)量保證監(jiān)查在AP1000依托項(xiàng)目中的應(yīng)用
        試析如何做好水質(zhì)環(huán)境監(jiān)測(cè)的質(zhì)量保證
        Matlab在密立根油滴實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
        国产一区二区三区porn| 国产欧美成人一区二区a片| 少妇被又大又粗又爽毛片久久黑人 | 免费人成年激情视频在线观看| 男人边吻奶边挵进去视频| 欧美日韩激情在线一区二区| 美女被强吻并脱下胸罩内裤视频| 无码精品人妻一区二区三区漫画| 亚洲av成人片色在线观看高潮| 国产70老熟女重口小伙子| 久久婷婷是五月综合色狠狠| 久久精品国产精品亚洲艾| 久久99精品久久久久婷婷| 国产三级久久久精品麻豆三级| 久久综合九色综合欧美狠狠| 成年女人毛片免费观看97| 巨爆乳中文字幕爆乳区| 中文字幕亚洲综合久久| 偷拍一区二区三区黄片| 男女av免费视频网站| 色哟哟最新在线观看入口| 国产三级在线观看播放视频| 好爽受不了了要高潮了av| 狠狠亚洲婷婷综合久久久| 亚洲一区二区三区免费av| 亚洲国产一区二区三区| 成人网站免费看黄a站视频| 又爽又黄禁片视频1000免费 | 国产一区二区三区免费精品视频| 亚洲人成人无码www| 天堂√在线中文官网在线| 国产主播福利一区二区| 免费一区二区三区av| 亚洲中文字幕精品久久a| 无码区a∨视频体验区30秒| 日韩黑人欧美在线视频观看| 成年人男女啪啪网站视频| 精品久久av一区二区| 亚洲春色在线视频| 国产一级片毛片| 日本一区二区三区四区在线看|