999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用EXCEL實(shí)現(xiàn)VCF值的自動查找及插值計(jì)算

2013-12-06 06:49:46龔家強(qiáng)
大眾科技 2013年6期

龔家強(qiáng)

(廣西博士海意信息科技有限公司,廣西 南寧 530028)

1 前言

利用EXCEL實(shí)現(xiàn)石油及其產(chǎn)品的計(jì)量報(bào)告輸出以及其中的VCF值的自動查找及插值計(jì)算,在用于鑒定工作時(shí),具有如下特點(diǎn): VCF值的查找計(jì)算方便、準(zhǔn)確、快速;程序開發(fā)過程不復(fù)雜,開發(fā)周期短,無需進(jìn)行復(fù)雜的報(bào)表輸出介面設(shè)計(jì),界面簡單直觀,便于修改報(bào)表格式;體積小巧,免安裝綠色軟件,可以U盤為載體,便于攜帶及數(shù)據(jù)保護(hù)和備份;系統(tǒng)崩潰時(shí)不會丟失數(shù)據(jù),避免了復(fù)雜的數(shù)據(jù)災(zāi)難恢復(fù)過程;使用人員無須專門培訓(xùn),易于上手。而且電腦目前普遍都裝有 EXCEL,當(dāng)所攜帶的電腦或便攜打印機(jī)出現(xiàn)軟件或硬件故障時(shí),可以迅速轉(zhuǎn)換工作電腦,不用重新安裝打印機(jī)驅(qū)動程序,即可利用現(xiàn)場的其它電腦來完成計(jì)算及計(jì)量報(bào)告輸出工作,不致于延誤工作時(shí)間,特別是當(dāng)船需要搶潮水快速卸貨,或是需要速遣等,對工作時(shí)間有一定要求的時(shí)候。

2 算法基本思想

表1 T60A原油VCF值表節(jié)選表

注意到表1為一有限二維表格,第一行是20℃下的標(biāo)準(zhǔn)密度值,第一列是溫度值,其余為相應(yīng)的標(biāo)準(zhǔn)密度值和溫度值所交叉對應(yīng)的VCF值。溫度值從負(fù)20度開始線性遞增,每次遞增值為0.25,到150度結(jié)束。考察溫度值的遞增情況,注意到每一度的溫度值都分為四個(gè)值域區(qū)間:xyz.00-xyz.25;xyz.25-xyz.50;xyz.50-xyz.75;xyz.75-xy(z+1).0(以 x、y和z分別代表溫度值的百位數(shù)、十位數(shù)和個(gè)位數(shù)),而每一個(gè)區(qū)間的端點(diǎn)值即為表中值。因此,只要將取得的待查溫度值與這四個(gè)值域區(qū)間的邊界值相比較,就可以確定待查溫度值溫度值落在哪一個(gè)值域區(qū)間之內(nèi),再將這一值域區(qū)間兩端的值即表中溫度值查找出來,就完成了溫度值的查找工作。

同時(shí),密度值從610.0開始等值遞增,遞增值為2,到1090.0結(jié)束。與溫度的查找算法同理,查找范圍也為四個(gè)值域區(qū)間,把待查密度值所在值域區(qū)間的兩個(gè)端點(diǎn)值查找出來。

當(dāng)兩個(gè)區(qū)間的端點(diǎn)值都找出來之后,即可將其所交叉對應(yīng)的表中四個(gè)VCF值也查找出來,進(jìn)行插值計(jì)算,得到所需的VCF值。這就是算法的基本思想。

3 程序語句

3.1 算法中所用到的函數(shù)主要為EXCEL自帶的四個(gè)函數(shù):ADDRESS()、INDIRECT()、MATCH()、TRUNC()

ADDRESS():按照給定的行號和列標(biāo),建立文本類型的單元格地址;

INDIRECT():返回指定單元格中包含的地址字符串所引用的單元格中的數(shù)值;

MATCH():返回在指定方式下與指定數(shù)值匹配的數(shù)組中元素的相應(yīng)位置;

TRUNC():將數(shù)字的小數(shù)部分截去,返回整數(shù)。

3.2 為算法的八條主要實(shí)現(xiàn)語句

3.2.1 語句一

ADDRESS(IF((TRUNC(LOOK_TEMP.)+0.25)>LOOK_TEMP.,M ATCH(TRUNC(LOOK_TEMP.),temp._value_range),IF((TRUNC(LOOK_TEMP.)+0.5)>LOOK_TEMP.,MATCH(TRUNC(LOOK_TEMP.)+0.25,temp._value_range),IF((TRUNC(LOOK_TEMP.)+0.75)>LOOK_TEMP.,MATCH(TRUNC(LOOK_TEMP.)+0.5,temp._value_r ange),MATCH(TRUNC(LOOK_TEMP.)+0.75,temp._value_range)))),1))。

語句實(shí)現(xiàn)的功能是,查找小于或等于待查溫度值的表中溫度值的單元格地址。當(dāng)?shù)玫街邓诘膯卧竦男刑柡土刑栔螅涂墒褂?ADDRESS()函數(shù)得到表中溫度值的單元格地址,然后再用INDIRECT()函數(shù)來返回指定單元格中包含的地址字符串所引用的單元格中的數(shù)值,以進(jìn)行插值計(jì)算。在這里需要說明的是,因?yàn)樵贓XCEL2003中ADDRESS()函數(shù)無法直接嵌套在INDIRECT()函數(shù)之中,所以,對于ADDRESS函數(shù)所得到的單元格地址,還需要用INDIRECT()函數(shù)在另一個(gè)單元格中返回?cái)?shù)值。

語句中的參數(shù) Look_temp為現(xiàn)場取得的待查表溫度值,在EXCEL中使用本語句時(shí),此變量就用錄入的待查找溫度值所在的單元格代替,如A10等。參數(shù)TEMP._VALUE_RANGE指出錄入的溫度值所在的區(qū)域, 例如,若為$A$1∶$A$682,即表示數(shù)據(jù)錄入在工作表中第一列的第一行到第682行之內(nèi),相應(yīng)溫度值為從-20度到150度。

本語句嵌套了三層IF條件語句,使用了MATCH函數(shù)的精確匹配查找功能。外層IF語句的作用是,將LOOK_TEMP.取整后,再加上 0.25,即為第一個(gè)值域區(qū)間的最大值。如果LOOK_TEMP.大于此最大值,則說明LOOK_TEMP.不在這一值域區(qū)間之中,IF語句邏輯值為假,執(zhí)行嵌套的第二層IF語句,即 IF(…)。否則執(zhí)行第一條語句,即:MATCH(TRUNC(LOOK_TEMP.), TEMP._VALUE_RANGE),得出此值域區(qū)間的最小值,即VCF值表中所顯示的溫度值,xyz.00,在VCF值表中第幾行。在這里,MATCH()函數(shù)就相當(dāng)于一個(gè)循環(huán)語句,從錄入溫度所在列的第一行一直比較到最后一行,直到找到匹配值為止。同理,嵌套的內(nèi)二層 IF語句判斷LOOK_TEMP處于余下的三個(gè)值域區(qū)間的哪一個(gè)之中。

需要說明的是,語句中的最后一個(gè)數(shù)字“1”,是偏移量。如果VCF二維數(shù)據(jù)值域不錄入在EXCEL工作表的第一列,而是從第N列M行開始錄入的話,那么,因?yàn)楸菊Z句中MATCH()函數(shù)找出的只是對應(yīng)于錄入的VCF二維數(shù)據(jù)值域的第一列的相對偏移量,而ADDRESS函數(shù)是居于絕對偏移量,即相對于整個(gè)工作表第一列的偏移量來引用參數(shù)的。所以,在這里要把MATCH()函數(shù)得出的相對偏移量轉(zhuǎn)變?yōu)榻^對偏移量。具體要根據(jù)所錄入的 VCF值域錄入在工作表的哪一列哪一行,來確定偏移量是多少。換句話來說,即在一個(gè)大的二維工作表中,所劃分出來的任意位置的一個(gè)子二維表格的第一列,相對于整個(gè)大的二維表格的第一列,偏移了多少列。

3.2.2 語句二

ADDRESS(IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.75),M ATCH(TRUNC(LOOK_TEMP.)+1,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.5),MATCH(TRUNC(LOOK_TEMP.)+0.75,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.25),MATCH(TRUNC(LOOK_TEMP.)+0.5,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)),MATCH(TRUN C(LOOK_TEMP.)+0.25,temp._value_range),MATCH(LOOK_TEM P.,temp._value_range))))),1))。

語句實(shí)現(xiàn)的功能是,查找剛好大于或等于待查溫度值的表中溫度值的單元格地址。

3.2.3 語句三

ADDRESS(1,IF(TRUNC(LOOK_DENSITY/10)*10=LOOK_DENS ITY,MATCH(TRUNC(LOOK_DENSITY/10)*10,density_value_ra nge),IF((TRUNC(LOOK_DENSITY/10)*10+2)>LOOK_DENSITY,M ATCH(TRUNC(LOOK_DENSITY/10)*10,density_value_range),IF((TRUNC(LOOK_DENSITY/10)*10+4)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENSITY/10)*10+2,density_value_range),IF((TRUNC(LOOK_DENSITY/10)*10+6)>LOOK_DENSITY,MATCH(TRU NC(LOOK_DENSITY/10)*10+4,density_value_range),IF((TR UNC(LOOK_DENSITY/10)*10+8)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENSITY/10)*10+6,density_value_range),MATCH(TRU NC(LOOK_DENSITY/10)*10+8,density_value_range)))))))。

語句實(shí)現(xiàn)的功能是,查找剛好小于或等于待查密度值的表中密度值的單元格地址。在密度值查找中,對于密度值是分為五個(gè)取值區(qū)間來進(jìn)行判斷。LOOK_DENSITY為所待查的20攝氏度下的標(biāo)準(zhǔn)密度。

3.2.4 語句四

ADDRESS(1,IF(LOOK_DENSITY>TRUNC(LOOK_DENSITY/10)*1 0+8,MATCH(TRUNC(LOOK_DENSITY/10)*10+10,density_value_r ange),IF(LOOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+6),MA TCH(TRUNC(LOOK_DENSITY/10)*10+8,density_value_range),I F(LOOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+4),MATCH(TRU NC(LOOK_DENSITY/10)*10+6,density_value_range),IF(LOOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+2),MATCH(TRUNC(LOOK_DENSITY/10)*10+4,density_value_range),IF(LOOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10),MATCH(TRUNC(LOOK_DENSITY/10)*10+2,density_value_range),MATCH(TRUNC(LOOK_DENSITY/10)*10,density_value_range)))))))。

語句實(shí)現(xiàn)的功能是,查找剛好大于或等于待查密度值的表中密度值的單元格地址。

3.2.5 語句五

ADDRESS(IF((TRUNC(LOOK_TEMP.)+0.25)>LOOK_TEMP.,M ATCH(TRUNC(LOOK_TEMP.),$A$1∶$A$682),IF((TRUNC(LOOK_T EMP.)+0.5)>LOOK_TEMP.,MATCH(TRUNC(LOOK_TEMP.)+0.25,$A$1∶$A$682),IF((TRUNC(LOOK_TEMP.)+0.75)>LOOK_TEMP.,M ATCH(TRUNC(LOOK_TEMP.)+0.5,$A$1∶$A$682),MATCH(TRUNC(LOOK_TEMP.)+0.75,$A$1∶$A$682)))),

IF(TRUNC(LOOK_DENSITY/10)*10=LOOK_DENSITY,

MATCH(TRUNC

(LOOK_DENSITY/10)*10,density_value_range),IF((TRUNC(LOOK_DENSITY/10)*10+2)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENSITY/10)*10,density_value_range),IF((TRUNC(LOOK_DENSITY/10)*10+4)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENS ITY/10)*10+2,density_value_range),IF((TRUNC(LOOK_DEN SITY/10)*10+6)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENSITY/10)*10+4,density_value_range),IF((TRUNC(LOOK_DENSIT Y/10)*10+8)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENSITY/10)*10+6,density_value_range),MATCH(TRUNC(LOOK_DENSITY/10)*10+8,density_value_range)))))))。

語句實(shí)現(xiàn)的功能是,查找剛好小于或等于待查溫度值的表中值和剛好小于或等于待查的密度值的表中密度值所交叉對應(yīng)的VCF值的單元格地址。語句中行號的查找語句使用的是語句一中行號的查找語句,列號的查找語句則是語句三中列號的查找語句。

3.2.6 語句六

ADDRESS(IF((TRUNC(LOOK_TEMP.)+0.25)>LOOK_TEMP.,M ATCH(TRUNC(LOOK_TEMP.),$A$1∶$A$682),IF((TRUNC(LOOK_T EMP.)+0.5)>LOOK_TEMP.,MATCH(TRUNC(LOOK_TEMP.)+0.25,$A$1∶$A$682),IF((TRUNC(LOOK_TEMP.)+0.75)>LOOK_TEMP.,M ATCH(TRUNC(LOOK_TEMP.)+0.5,$A$1∶$A$682),MATCH(TRUNC(LOOK_TEMP.)+0.75,$A$1∶$A$682)))),

IF(LOOK_DENSITY>TRUNC(LOOK_DENSITY/10)*10+8,MATCH(TR UNC(LOOK_DENSITY/10)*10+10,density_value_range),IF(L OOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+6),MATCH(TRUN C(LOOK_DENSITY/10)*10+8,density_value_range),IF(LOOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+4),MATCH(TRUNC(L OOK_DENSITY/10)*10+6,density_value_range),IF(LOOK_DE NSITY>(TRUNC(LOOK_DENSITY/10)*10+2),MATCH(TRUNC(LOOK_DENSITY/10)*10+4,density_value_range),IF(LOOK_DENSI TY>(TRUNC(LOOK_DENSITY/10)*10),MATCH(TRUNC(LOOK_DENS ITY/10)*10+2,density_value_range),MATCH(TRUNC(LOOK_D ENSITY/10)*10,density_value_range)))))))。

語句實(shí)現(xiàn)的功能是,查找剛好小于或等于待查溫度值的表中溫度值和剛好大于或等于待查密度值的表中密度值所交叉對應(yīng)的VCF值的單元格地址。

3.2.7 語句七

ADDRESS(IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.75),M ATCH(TRUNC(LOOK_TEMP.)+1,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.5),MATCH(TRUNC(LOOK_TEMP.)+0.75,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.25),MATCH(TRUNC(LOOK_TEMP.)+0.5,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)),MATCH(TRUN C(LOOK_TEMP.)+0.25,temp._value_range),MATCH(LOOK_TEM P.,temp._value_range))))),

IF(TRUNC(LOOK_DENSITY/10)*10=LOOK_DENSITY,MATCH(TRUN C(LOOK_DENSITY/10)*10,density_value_range),IF((TRUNC(LOOK_DENSITY/10)*10+2)>LOOK_DENSITY,MATCH(TRUNC(LOO K_DENSITY/10)*10,density_value_range),IF((TRUNC(LOOK_DENSITY/10)*10+4)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DEN SITY/10)*10+2,density_value_range),IF((TRUNC(LOOK_DE NSITY/10)*10+6)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENSIT Y/10)*10+4,density_value_range),IF((TRUNC(LOOK_DENSI TY/10)*10+8)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENSITY/1 0)*10+6,density_value_range),MATCH(TRUNC(LOOK_DENSIT Y/10)*10+8,density_value_range)))))))。

語句實(shí)現(xiàn)的功能是,查找剛好大于或等于待查溫度值的表中溫度值和剛好小于或等于待查密度值的表中密度值所交叉對應(yīng)的VCF值的單元格地址。

3.2.8 語句八

ADDRESS(IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.75),M ATCH(TRUNC(LOOK_TEMP.)+1,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.5),MATCH(TRUNC(LOOK_TEMP.)+0.75,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)+0.25),MATCH(TRUNC(LOOK_TEMP.)+0.5,temp._value_range),IF(LOOK_TEMP.>(TRUNC(LOOK_TEMP.)),MATCH(TRUN C(LOOK_TEMP.)+0.25,temp._value_range),MATCH(LOOK_TEM P.,temp._value_range))))),

IF(LOOK_DENSITY>TRUNC(LOOK_DENSITY/10)*10+8,MATCH(TR UNC(LOOK_DENSITY/10)*10+10,density_value_range),IF(L OOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+6),MATCH(TRUN C(LOOK_DENSITY/10)*10+8,density_value_range),IF(LOOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+4),MATCH(TRUNC(L OOK_DENSITY/10)*10+6,density_value_range),IF(LOOK_DE NSITY>(TRUNC(LOOK_DENSITY/10)*10+2),MATCH(TRUNC(LOOK_DENSITY/10)*10+4,density_value_range),IF(LOOK_DENSI TY>(TRUNC(LOOK_DENSITY/10)*10),MATCH(TRUNC(LOOK_DENS ITY/10)*10+2,density_value_range),MATCH(TRUNC(LOOK_D ENSITY/10)*10,density_value_range)))))))。

語句實(shí)現(xiàn)的功能是,查找剛好大于或等于待查溫度值的表中溫度值和剛好大于或等于待查密度值的表中密度值所交叉對應(yīng)的VCF值的單元格地址。

3.3 查找結(jié)果說明

設(shè)測量的的溫度為 37.3度,20攝氏度下標(biāo)準(zhǔn)密度為0.881,則語句一查找到的表中值為37.25,語句2查找到的值為37.50,語句三查找到的值為0.880,語句四查找到的值為0.882,語句五查找到的值為37.25和0.880所對應(yīng)的VCF值0.9863.同理,語句六、七、八查到的VCF值分別為0.9864、0.9861、0.9862。得到所有的相關(guān)值后,即可進(jìn)行插值計(jì)算,得到所需的VCF值。

又設(shè)測量的溫度值和所給定的密度值在表中都可以直接查到,如當(dāng)溫度值為37.5,密度為0.880時(shí),則語句一、二查到的值為37.5,語句三、四查到的值為0.880,語句五、六、七、八查到的值都為0.9863,也可求得所需要的值。

3.2僅是為了具體地說明查找過程,語句還可以進(jìn)一步簡化。請讀者思考。

4 《油品計(jì)量員讀本》查找算法

對于《油品計(jì)量員讀本》中,溫度取較接近值不插值,而密度值及其所對應(yīng)的VCF值進(jìn)行插值計(jì)算,可以用以下兩語句,來實(shí)現(xiàn)較接近待查溫度值的表中溫度值與表中兩個(gè)用于插值計(jì)算的密度值所交叉對應(yīng)的VCF值的查找:

4.1 語句一

ADDRESS(IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+(0.75+0.1 25)),MATCH(TRUNC(LOOK_TEMP)+1,temp._value_range),IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+(0.5+0.125)),MATCH(TRUNC(LOOK_TEMP)+0.75,temp._value_range),IF(LOOK_TEMP>(TR UNC(LOOK_TEMP)+(0.25+0.125)),MATCH(TRUNC(LOOK_TEMP)+0.5,temp._value_range),IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+0.125),MATCH(TRUNC(LOOK_TEMP)+0.25,temp._value_ran ge),MATCH(TRUNC(LOOK_TEMP),temp._value_range))))),IF((TRUNC(LOOK_DENSITY/10)*10+2)>LOOK_DENSITY,MATCH(TR UNC(LOOK_DENSITY/10)*10,density_value_range),IF((TRU NC(LOOK_DENSITY/10)*10+4)>LOOK_DENSITY,MATCH(TRUNC(L OOK_DENSITY/10)*10+2,density_value_range),IF((TRUNC(LOOK_DENSITY/10)*10+6)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DENSITY/10)*10+4,density_value_range),IF((TRUNC(LOO K_DENSITY/10)*10+8)>LOOK_DENSITY,MATCH(TRUNC(LOOK_DE NSITY/10)*10+6,density_value_range),MATCH(TRUNC(LOOK_DENSITY/10)*10+8,density_value_range))))))。

即為查找較接近待查溫度值的表中溫度值和剛好小于或等于待查密度值的表中密度值所交叉對應(yīng)的VCF值的單元格地址。

4.2 語句二

ADDRESS(IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+(0.75+0.1 25)),MATCH(TRUNC(LOOK_TEMP)+1,temp._value_range),IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+(0.5+0.125)),MATCH(TRUNC(LOOK_TEMP)+0.75,temp._value_range),IF(LOOK_TEMP>(TR UNC(LOOK_TEMP)+(0.25+0.125)),MATCH(TRUNC(LOOK_TEMP)+0.5,temp._value_range),IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+0.125),MATCH(TRUNC(LOOK_TEMP)+0.25,temp._value_ran ge),MATCH(TRUNC(LOOK_TEMP),temp._value_range))))),IF(LOOK_DENSITY>TRUNC(LOOK_DENSITY/10)*10+8,MATCH(TRUN C(LOOK_DENSITY/10)*10+10,density_value_range),IF(LOO K_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+6),MATCH(TRUNC(LOOK_DENSITY/10)*10+8,density_value_range),IF(LOOK_D ENSITY>(TRUNC(LOOK_DENSITY/10)*10+4),MATCH(TRUNC(LOO K_DENSITY/10)*10+6,density_value_range),IF(LOOK_DENS ITY>(TRUNC(LOOK_DENSITY/10)*10+2),MATCH(TRUNC(LOOK_D ENSITY/10)*10+4,density_value_range),IF(LOOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10),MATCH(TRUNC(LOOK_DENSIT Y/10)*10+2,density_value_range),MATCH(TRUNC(LOOK_DEN SITY/10)*10,density_value_range)))))))。

即為查找較接近待查溫度值的表中溫度值和剛好大于或等于待查密度值的表中密度值所交叉對應(yīng)的VCF值的單元格地址。

5 GB/T 1885-1998查找算法

在GB/T 1885-1998標(biāo)準(zhǔn)中,溫度和密度都不插值計(jì)算,全都使用較接近值的算法,則只需使用一條語句,來實(shí)現(xiàn)較接近待查溫度值和待查密度值的表中溫度值和表中密度值所交叉對應(yīng)的VCF值的查找:

ADDRESS(IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+(0.75+0.1 25)),MATCH(TRUNC(LOOK_TEMP)+1,temp._value_range),IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+(0.5+0.125)),MATCH(TRUNC(LOOK_TEMP)+0.75,temp._value_range),IF(LOOK_TEMP>(TR UNC(LOOK_TEMP)+(0.25+0.125)),MATCH(TRUNC(LOOK_TEMP)+0.5,temp._value_range),IF(LOOK_TEMP>(TRUNC(LOOK_TEMP)+0.125),MATCH(TRUNC(LOOK_TEMP)+0.25,temp._value_ran ge),MATCH(TRUNC(LOOK_TEMP),temp._value_range))))),IF(LOOK_DENSITY>TRUNC(LOOK_DENSITY/10)*10+9,MATCH(TRUN C(LOOK_DENSITY/10)*10+10,density_value_range),IF(LOO K_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+7),MATCH(TRUNC(LOOK_DENSITY/10)*10+8,density_value_range),IF(LOOK_D ENSITY>(TRUNC(LOOK_DENSITY/10)*10+5),MATCH(TRUNC(LOO K_DENSITY/10)*10+6,density_value_range),IF(LOOK_DENS ITY>(TRUNC(LOOK_DENSITY/10)*10+3),MATCH(TRUNC(LOOK_D ENSITY/10)*10+4,density_value_range),IF(LOOK_DENSITY>(TRUNC(LOOK_DENSITY/10)*10+1),MATCH(TRUNC(LOOK_DENS ITY/10)*10+2,density_value_range),MATCH(TRUNC(LOOK_D ENSITY/10)*10,density_value_range)))))))

6 結(jié)語

本文中的程序語句均在EXCEL2003下通過。

在實(shí)際應(yīng)用中,語句仍需要進(jìn)行改進(jìn)。對輸入的溫度值和密度值,應(yīng)進(jìn)行值域檢查,即對輸入值的有效性進(jìn)行檢查,同時(shí)也對邊界值的情況進(jìn)行處理。當(dāng)輸入無效值時(shí),給出提示,以避免無效的計(jì)算結(jié)果,使程序完善,具有健壯性和穩(wěn)定性。

因?yàn)樵蜁r(shí)常來自同一產(chǎn)區(qū),所以其品質(zhì)基本上變化不大。因此只需將常用的VCF值域輸入EXCEL表格中。僅需輸入較少的數(shù)據(jù)量,就能達(dá)到預(yù)期的目的。而對于需用到的未錄入的VCF數(shù)據(jù),也可現(xiàn)場輸入到二維表格中,就可利用程序進(jìn)行相應(yīng)的查找插值計(jì)算,減少了計(jì)算的工作量及強(qiáng)度,提高了工作效率。

本文語句實(shí)現(xiàn)了溫度、密度及溫度和密度所交叉對應(yīng)的VCF值都進(jìn)行插值計(jì)算,僅密度和密度所對應(yīng)的VCF值進(jìn)行插值計(jì)算,無插值計(jì)算三種查找算法,并且僅在EXCEL的工作界面中實(shí)現(xiàn)查找并得到所需的結(jié)果,應(yīng)用相對簡單。對于同一個(gè)VCF數(shù)據(jù)表,可以根據(jù)實(shí)際情況的需要來選用不同的算法,以適合工作之需要。而且本文語句具有很強(qiáng)通用性,稍加修改,即可建立一個(gè)空白的查找模板。使用時(shí)只要將表格數(shù)據(jù)錄入,即可完成任意二維表格數(shù)據(jù)的查找及插值計(jì)算工作,基本上可以應(yīng)用于鑒定工作中所用到的大多數(shù)表格。

[1] 石油計(jì)量表原油部分(GB/T 1885-1998專用).

[2] GB/T 19779-2005,石油和液體石油產(chǎn)品油量計(jì)算靜態(tài)計(jì)量.

[3] John Walkenbach.Excel 2003 Formulas.Wiley Publishing,Inc.2004.

[4] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].清華大學(xué)出版社,1997.

[5] 譚浩強(qiáng).C語言程序設(shè)計(jì)[M].清華大學(xué)出版社,2000.

[6] 肖素琴.油品計(jì)量員讀本[M].中國石化出版社,2001.

主站蜘蛛池模板: 九九精品在线观看| 五月婷婷精品| www.99在线观看| 亚洲性日韩精品一区二区| 日韩高清无码免费| 伊人国产无码高清视频| 麻豆精品在线视频| 伊人久久大香线蕉影院| 国产成人精品日本亚洲77美色| 99在线观看精品视频| 久青草免费在线视频| 国产精品无码一二三视频| 久久6免费视频| 国产麻豆精品在线观看| 全部免费特黄特色大片视频| 欧美黑人欧美精品刺激| 国产成人成人一区二区| 婷婷亚洲最大| 亚洲VA中文字幕| 欧美成人精品高清在线下载| 国产成人一二三| 亚洲国产高清精品线久久| 丁香五月激情图片| 免费看a毛片| 91系列在线观看| 国产精品毛片一区| 在线日韩日本国产亚洲| 免费高清毛片| 欧美97欧美综合色伦图| 免费毛片全部不收费的| 激情综合婷婷丁香五月尤物| 亚洲人成高清| 91在线一9|永久视频在线| 在线免费观看AV| 青青草久久伊人| 丁香婷婷激情网| 日韩精品欧美国产在线| 精品剧情v国产在线观看| 亚洲成a人在线播放www| 欧美一区二区自偷自拍视频| 99r在线精品视频在线播放| 欧美成人精品一区二区| 综合社区亚洲熟妇p| 啪啪啪亚洲无码| 亚洲第一成人在线| 国产三级毛片| 亚洲欧美不卡| 欧美在线视频不卡| 亚洲国产理论片在线播放| 国产又粗又猛又爽视频| 午夜福利无码一区二区| 国产亚洲日韩av在线| 亚洲激情99| 人与鲁专区| 欧美国产综合色视频| 欧美日韩一区二区在线免费观看| 国产精品亚洲天堂| 免费日韩在线视频| 国内丰满少妇猛烈精品播| 国产女人爽到高潮的免费视频| 最新国语自产精品视频在| 噜噜噜久久| 国产在线麻豆波多野结衣| 91青青草视频在线观看的| av在线人妻熟妇| AV在线天堂进入| 婷婷亚洲视频| 成人精品视频一区二区在线| 国产午夜一级毛片| 伦伦影院精品一区| 色婷婷啪啪| 一区二区欧美日韩高清免费| 日本在线亚洲| 热99精品视频| 久久久噜噜噜| h网址在线观看| 中文字幕日韩欧美| 美女啪啪无遮挡| 日本欧美精品| 在线免费看黄的网站| 亚洲精品福利视频| 国产国拍精品视频免费看|