陳令剛
摘 要:探討用EXCEL函數的方式將公路水運工程試驗檢測中數據修約滿足規(guī)范《數值修約規(guī)則與極限數值的表示和判定》(GB/T 8170-2008)的要求,使數據處理規(guī)范快速準確。
關鍵詞:公路水運;數值修約;檢測;函數
1 背景
在公路水運工程試驗檢測的過程中,存在大量的關于數值修約處理?,F在的EXCEL辦公軟件只是對數據進行簡單的“四舍五入”處理,不能滿足檢測方面數值修約的要求。例如:粗細集料顆粒級配試驗、土的含水率、試塊抗壓強度、鋼筋保護層試驗、瀝青及瀝青混合料試驗等幾乎所有的檢測均有涉及,所以利用EXCEL的功能完成自動化修約可以提高檢測人員的工作效率和準確率。
2 數值修約規(guī)則
2.1 GB/T 8170-2008中的部分修約規(guī)則
(1)擬舍棄數字的最左一位數字小于5,則舍去,保留其余各位數字不變。
(2)擬舍棄數字的最左一位數字大于5,則進一,即保留數字的末位數字加1。
(3)擬舍棄數字的最左一位數字是5,且其后為非零數字時進一,即保留數字的末尾數字加1。
(4)擬舍棄數字的最左一位數字是5,且其后無數字或皆為0時,若所保留的末位數字為奇數(1、3、5、7、9)則進一,即保留數字的末尾數字加1;若所保留的末尾數字為偶數(0、2、4、6、8),則舍去。
3 修約流程圖
方法一:
方法二:
4 所用函數解釋
(1)TRUNC 函數,將數字的小數部分截去,返回整數。TRUNC(number,[num_digits]),Number需要截尾取整的數字,num_digits用于指定取整精度的數字;例如:TRUNC(-4.3) 返回-4,TRUNC(4.3)返回4。
(2)RIGHT根據所指定的字符數返回文本字符串中最后一個或多個字符。例如:RIGHT(9.4)返回值為9,注意數字9為文本。
(3)EVEN(number)函數,不論參數number的符號如何,數值都是沿絕對值增大的方向向上舍入。如果number恰好是偶數,則不進行舍入。
(4)INT(number)函數,將數字向下舍入到最接近的
整數。例如:INT(8.9)將8.9向下舍入到最接近的整數(8)。
(5)MOD(number,divisor)函數,返回兩數相除的余數。結果的符號與除數相同。例如:MOD(3,2),3/2的余數為1。
(6)ROUND(number,num_digits)函數,將數字四舍五入到指定的位數。
(7)ROUNDUP(number,num_digits)函數,朝著遠離0(零)的方向將數字進行向上舍入。例如:ROUNDUP(3.141 5,3)將3.141 5向上舍入到三個小數位數為3.142。
(8)ROUNDDOWN(number,num_digits)函數,是指靠近零值,向下(絕對值減小的方向)舍入數字。例如:ROUNDDOWN(3.141 5,3)將3.141 5向上舍入到三個小數位數為3.141。
(9)IF函數有三個參數,語法如下:=IF(條件判斷,結果為真返回值,結果為假返回值),第一參數是條件判斷,比如說“A1="百度"”或“21>37”這種,結果返回TRUE或FALSE。如果判斷返回TRUE那么IF函數返回值是第二參數,否則返回第三參數。
5 實例計算
實例一:
液限和塑限聯合測定法檢測土的界限含水率,用液塑限聯合測定儀分別對三分土樣試樣進行檢測,取h1、h2平均值重復本試驗,對其他兩個含水率土樣進行試驗,測其錐人深度和含水率。下面分別用兩種方法分別對平均值數據進行修約。
從表中可以得出C點的數據修約存在不同,4.3和4.6的平均值用符合國標的方法修約為4.4,用ROUND函數修約為4.5。兩種不同方法所用的函數分別為:
表1:D4單元格公式:IF(RIGHT(AVERAGE(D2:D3))="5",EVEN(TRUNC(AVERAGE(D2:D3),1)*10)/10,ROUND(AVERAGE(D2:D3),1))
函數分解:
RIGHT(AVERAGE(D2:D3))="5",D2和D3平均值最后一位數值是為5,若為5則返回TRUE,否則返回FALSE;此例中平均值結果為4.45,所以返回值為TRUE。
EVEN(TRUNC(AVERAGE(D2:D3),1)*10)/10,先將D2和D3的平均值截取至小數點后一位結果為4.4,再將4.4轉換為整數44,再用EVEN函數將44向上舍入最近的偶數,因為44本身為偶數,所以不需向上舍入;再將44裝換為4.4,所以返回值為4.4。
ROUND(AVERAGE(D2:D3),1),將D2和D3的平均值4.45四舍五入到一個小數位,結果為4.5。
在IF函數中若RIGHT(AVERAGE(D2:D3))="5"返回值為TRUE,則將尾數“5”去掉,尾數5前面的數字若為偶數則不需向上舍入,否則向上舍入最接近的偶數;若RIGHT(AVERAGE(D2:D3))="5"返回值為FALSE,則利用ROUND(AVERAGE(D2:D3),1)完成四舍六入。
實例二:
某大橋用碎石,用5~16,16~25兩檔連續(xù)集配摻配,摻配比例為3:7,合成為5~25的連續(xù)集配混合料,進行篩分試驗,檢測結果如下。在計算平均累計篩余百分率時平均值的計算須符合GB/T 8170-2008的修約規(guī)則
表3中函數如下:
IF(RIGHT(AVERAGE(C14,E14))="5",IF(MOD(INT(AVERAGE(C14,E14)*10),2)=0, ROUNDDOWN(AVERAGE(C14,E14),
1), ROUNDUP(AVERAGE(C14,E14),1)ROUND(AVERAGE(C14,
E14),1))。
函數解析:
RIGHT(AVERAGE(C14,E14))="5",C14,E14平均值為(31.95),RIGHT (31.95)的返回值為"5","5"="5 "成立所以返回值為TRUE。
MOD(INT(AVERAGE(C14,E14)*10),2)=0,將該平均值小數點向右移動一位(319.5),INT(319.5)將319.5向下舍入最接近的整數(319),MOD(319,2)319/2的余數為1,1≠0所以返回值為FALSE。
ROUNDUP(AVERAGE(C14,E14),1),將 31.95 向上舍入到一個小數位數為32.0。
ROUNDDOWN(AVERAGE(C14,E14),1), 將 31.95 向下舍入到一個小數位數為31.9。
所以單元格F14的函數可以表達為IF("5"="5 ",IF(1=0, 31.9, 32.0),32.0),返回值為31.9;單元格F17的函數可以表達為IF("0"="5 ",IF(952/2=0, 95.2, 95.2),95.2),返回值為95.2。
6 結束語
以上兩種方法均是對平均值的最后一位數是否為5,為判斷依據,利用不同的函數實現“奇進偶不進”的要求。利用以上公式可方便快捷的計算數據符合國標GB/T 8170-2008修約要求,并可以運用到所有對數據修約有要求的計算表中,解決了計算中人工復核D中效率低易出錯的狀況。