淺談基于Excel的道路工程計(jì)算技術(shù)論文
淺談基于Excel的道路工程計(jì)算技術(shù)論文
道路工程是從事道路的規(guī)劃、勘測(cè)、設(shè)計(jì)、施工、養(yǎng)護(hù)等的一門(mén)應(yīng)用科學(xué)和技術(shù)。是土木工程的一個(gè)分支。以下是學(xué)習(xí)啦小編今天為大家精心準(zhǔn)備的:淺談基于Excel 的道路工程計(jì)算技術(shù)相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計(jì)算技術(shù)全文如下:
道路工程的施工現(xiàn)場(chǎng)數(shù)據(jù)(施工放樣、數(shù)量計(jì)算等)采用手工計(jì)算(各種計(jì)算器)具有直觀好理解的有點(diǎn),缺點(diǎn)是易出錯(cuò)、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點(diǎn)是計(jì)算準(zhǔn)確、效率高,缺點(diǎn)是需要編制專(zhuān)用的程序,需要專(zhuān)業(yè)人員有很好的編程能力,使用者需要一定的培訓(xùn)。基于此,引入Excel 進(jìn)行相應(yīng)計(jì)算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計(jì)算過(guò)程可以采用插入函數(shù)計(jì)算等,在廣大工程人員中有了廣泛應(yīng)用;但是,仔細(xì)分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個(gè)界面,操作時(shí)宜相互干擾,宜造成原始數(shù)據(jù)易改動(dòng),數(shù)據(jù)量大時(shí),操作界面數(shù)據(jù)類(lèi)型多、混亂;
②對(duì)自定義函數(shù)應(yīng)用較少,所定義的公式過(guò)于簡(jiǎn)單、缺乏可維護(hù)性;
?、垡?yàn)槿狈?duì)高級(jí)函數(shù)的應(yīng)用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
?、苷J(rèn)為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計(jì)算手工操作過(guò)多,效率低、強(qiáng)度高。
下面以常見(jiàn)的已知導(dǎo)線點(diǎn)坐標(biāo)、已知中樁坐標(biāo),按指定導(dǎo)線點(diǎn)為測(cè)站和后視點(diǎn)計(jì)算極坐標(biāo)放樣數(shù)據(jù)的excel 過(guò)程來(lái)展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過(guò)程、高級(jí)函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設(shè)計(jì)
“導(dǎo)線點(diǎn)”表單、“中樁坐標(biāo)”表單向“總控界面”表單提供數(shù)據(jù)檢索和關(guān)聯(lián)的原始數(shù)據(jù),總控界面計(jì)算單個(gè)放樣數(shù)據(jù)、同時(shí)可以批量計(jì)算數(shù)據(jù)填寫(xiě)于“批量計(jì)算”表單。
總控界面可以自動(dòng)檢索“導(dǎo)線點(diǎn)”表單導(dǎo)線點(diǎn)個(gè)數(shù)、“中樁坐標(biāo)”表單中樁個(gè)數(shù),測(cè)站、后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁(樁號(hào))均采用下拉列表選擇,相應(yīng)的坐標(biāo)(X,Y)自動(dòng)檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯(cuò)、同時(shí)方便數(shù)據(jù)分類(lèi)管理。
2 關(guān)鍵技術(shù)
以下主要討論:?jiǎn)蝹€(gè)數(shù)據(jù)防止出錯(cuò),需要檢索;批量數(shù)據(jù)處理需要VBA 對(duì)單元格調(diào)用。
2.1 高級(jí)內(nèi)置函數(shù)應(yīng)用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動(dòng)檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫(xiě)作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標(biāo)把其他表單對(duì)應(yīng)值返回當(dāng)前單元格—把具有相同查找目標(biāo)的值從其他表單返回當(dāng)前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個(gè)中樁的樁號(hào)(K115+500),則后面兩列(C9、D9)中通過(guò)該函數(shù)自動(dòng)檢索到“中樁坐標(biāo)”表單對(duì)應(yīng)的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調(diào)用格式VLOOKUP 函數(shù)的調(diào)用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進(jìn)一步說(shuō)明,VLOOKUP (查找目標(biāo),查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標(biāo):VLOOKUP (B10, 中樁坐標(biāo)! $A
淺談基于Excel的道路工程計(jì)算技術(shù)論文
道路工程是從事道路的規(guī)劃、勘測(cè)、設(shè)計(jì)、施工、養(yǎng)護(hù)等的一門(mén)應(yīng)用科學(xué)和技術(shù)。是土木工程的一個(gè)分支。以下是學(xué)習(xí)啦小編今天為大家精心準(zhǔn)備的:淺談基于Excel 的道路工程計(jì)算技術(shù)相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計(jì)算技術(shù)全文如下:
道路工程的施工現(xiàn)場(chǎng)數(shù)據(jù)(施工放樣、數(shù)量計(jì)算等)采用手工計(jì)算(各種計(jì)算器)具有直觀好理解的有點(diǎn),缺點(diǎn)是易出錯(cuò)、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點(diǎn)是計(jì)算準(zhǔn)確、效率高,缺點(diǎn)是需要編制專(zhuān)用的程序,需要專(zhuān)業(yè)人員有很好的編程能力,使用者需要一定的培訓(xùn)?;诖耍隕xcel 進(jìn)行相應(yīng)計(jì)算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計(jì)算過(guò)程可以采用插入函數(shù)計(jì)算等,在廣大工程人員中有了廣泛應(yīng)用;但是,仔細(xì)分析尚有如下不足:
①數(shù)據(jù)的輸入、輸出在一個(gè)界面,操作時(shí)宜相互干擾,宜造成原始數(shù)據(jù)易改動(dòng),數(shù)據(jù)量大時(shí),操作界面數(shù)據(jù)類(lèi)型多、混亂;
?、趯?duì)自定義函數(shù)應(yīng)用較少,所定義的公式過(guò)于簡(jiǎn)單、缺乏可維護(hù)性;
?、垡?yàn)槿狈?duì)高級(jí)函數(shù)的應(yīng)用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
?、苷J(rèn)為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計(jì)算手工操作過(guò)多,效率低、強(qiáng)度高。
下面以常見(jiàn)的已知導(dǎo)線點(diǎn)坐標(biāo)、已知中樁坐標(biāo),按指定導(dǎo)線點(diǎn)為測(cè)站和后視點(diǎn)計(jì)算極坐標(biāo)放樣數(shù)據(jù)的excel 過(guò)程來(lái)展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過(guò)程、高級(jí)函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設(shè)計(jì)
“導(dǎo)線點(diǎn)”表單、“中樁坐標(biāo)”表單向“總控界面”表單提供數(shù)據(jù)檢索和關(guān)聯(lián)的原始數(shù)據(jù),總控界面計(jì)算單個(gè)放樣數(shù)據(jù)、同時(shí)可以批量計(jì)算數(shù)據(jù)填寫(xiě)于“批量計(jì)算”表單。
總控界面可以自動(dòng)檢索“導(dǎo)線點(diǎn)”表單導(dǎo)線點(diǎn)個(gè)數(shù)、“中樁坐標(biāo)”表單中樁個(gè)數(shù),測(cè)站、后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁(樁號(hào))均采用下拉列表選擇,相應(yīng)的坐標(biāo)(X,Y)自動(dòng)檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯(cuò)、同時(shí)方便數(shù)據(jù)分類(lèi)管理。
2 關(guān)鍵技術(shù)
以下主要討論:?jiǎn)蝹€(gè)數(shù)據(jù)防止出錯(cuò),需要檢索;批量數(shù)據(jù)處理需要VBA 對(duì)單元格調(diào)用。
2.1 高級(jí)內(nèi)置函數(shù)應(yīng)用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動(dòng)檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫(xiě)作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標(biāo)把其他表單對(duì)應(yīng)值返回當(dāng)前單元格—把具有相同查找目標(biāo)的值從其他表單返回當(dāng)前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個(gè)中樁的樁號(hào)(K115+500),則后面兩列(C9、D9)中通過(guò)該函數(shù)自動(dòng)檢索到“中樁坐標(biāo)”表單對(duì)應(yīng)的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調(diào)用格式VLOOKUP 函數(shù)的調(diào)用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進(jìn)一步說(shuō)明,VLOOKUP (查找目標(biāo),查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標(biāo):VLOOKUP (B10, 中樁坐標(biāo)! $A$2: $C$999999,2,FALSE)中的第一個(gè)參數(shù)—“B10”,即中樁樁號(hào),當(dāng)前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標(biāo)! $A $2: $C$999999,2,FALSE)中的第二個(gè)參數(shù)—“中樁坐標(biāo)! $A$2:$C$999999”,即 “中樁坐標(biāo)”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進(jìn)行相應(yīng)變化。
需要特別注意的是:查找目標(biāo)(樁號(hào)列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,FALSE)中的第3 個(gè)參數(shù)—“2”,它是一個(gè)整數(shù)值。它是“返回值”在第二個(gè)參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個(gè)參數(shù)查找范圍“中樁坐標(biāo)! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個(gè)參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關(guān)鍵。精確即完全一樣,模糊即包含的意思。第4 個(gè)參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時(shí)則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗(yàn)證→數(shù)據(jù)驗(yàn)證→設(shè)置→序列→來(lái)源→選定所需表單對(duì)應(yīng)的列。
以設(shè)置導(dǎo)線點(diǎn)的測(cè)站為例(后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁也需要類(lèi)似設(shè)置),需要選擇導(dǎo)線點(diǎn)表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計(jì)算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉(zhuǎn)變?yōu)槎确置耄?、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計(jì)算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點(diǎn)相對(duì)于測(cè)站的X、Y 的坐標(biāo)增量;fwj 為對(duì)應(yīng)于dx、dy 的方位角,方位角計(jì)算結(jié)果單位為弧度。dx=0 時(shí),需要單獨(dú)討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯(cuò)!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計(jì)算
當(dāng)放樣采用極坐標(biāo)夾角方式時(shí),后視方向的坐標(biāo)增量為dtx, dty,中樁方向的坐標(biāo)增量為dx, dy,jiajiao 為計(jì)算結(jié)果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計(jì)算后視方向
hs = fwj(dtx, dty)
' 計(jì)算單個(gè)中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開(kāi)發(fā)——批量計(jì)算數(shù)據(jù)
計(jì)算后視方位角,確定計(jì)算范圍,表頭填寫(xiě),逐樁方位角計(jì)算、距離計(jì)算、夾角計(jì)算,數(shù)據(jù)回填表格。
核心技術(shù)是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時(shí)需要通過(guò)VAL 函數(shù)轉(zhuǎn)變?yōu)閿?shù)值才能參加計(jì)算)也可以單元格寫(xiě)入信息。源代碼略。
3 運(yùn)行過(guò)程
運(yùn)行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測(cè)站點(diǎn)編號(hào)、后視點(diǎn)編號(hào)、單個(gè)中樁樁號(hào),此時(shí)excel 自動(dòng)計(jì)算該中樁對(duì)應(yīng)的極坐標(biāo)放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開(kāi)始樁號(hào)、結(jié)束樁號(hào),批量計(jì)算放樣數(shù)據(jù)按鈕。
4 結(jié)論
本文通過(guò)創(chuàng)建excel 模板文件解決的問(wèn)題如下:
?、賳蝹€(gè)數(shù)據(jù)計(jì)算為了防止輸入錯(cuò)誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
②為了完成單個(gè)數(shù)據(jù)的計(jì)算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計(jì)算編制了VBA 程序。
對(duì)于道路工程施工數(shù)據(jù)數(shù)據(jù)計(jì)算過(guò)程具有高效、防錯(cuò)等作用。本計(jì)算思路不但可以用于施工計(jì)算,也可以用于設(shè)計(jì)計(jì)算。
相關(guān)文章:
4.淺談高中政治調(diào)研型作業(yè)的設(shè)置論文
6.淺談數(shù)字媒體技術(shù)與數(shù)字媒體藝術(shù)的融合論文
: $C9999,2,FALSE)中的第一個(gè)參數(shù)—“B10”,即中樁樁號(hào),當(dāng)前為“ZK115+500”。查找范圍:VLOOKUP (B10, 中樁坐標(biāo)! $A
淺談基于Excel的道路工程計(jì)算技術(shù)論文
道路工程是從事道路的規(guī)劃、勘測(cè)、設(shè)計(jì)、施工、養(yǎng)護(hù)等的一門(mén)應(yīng)用科學(xué)和技術(shù)。是土木工程的一個(gè)分支。以下是學(xué)習(xí)啦小編今天為大家精心準(zhǔn)備的:淺談基于Excel 的道路工程計(jì)算技術(shù)相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計(jì)算技術(shù)全文如下:
道路工程的施工現(xiàn)場(chǎng)數(shù)據(jù)(施工放樣、數(shù)量計(jì)算等)采用手工計(jì)算(各種計(jì)算器)具有直觀好理解的有點(diǎn),缺點(diǎn)是易出錯(cuò)、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點(diǎn)是計(jì)算準(zhǔn)確、效率高,缺點(diǎn)是需要編制專(zhuān)用的程序,需要專(zhuān)業(yè)人員有很好的編程能力,使用者需要一定的培訓(xùn)。基于此,引入Excel 進(jìn)行相應(yīng)計(jì)算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計(jì)算過(guò)程可以采用插入函數(shù)計(jì)算等,在廣大工程人員中有了廣泛應(yīng)用;但是,仔細(xì)分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個(gè)界面,操作時(shí)宜相互干擾,宜造成原始數(shù)據(jù)易改動(dòng),數(shù)據(jù)量大時(shí),操作界面數(shù)據(jù)類(lèi)型多、混亂;
?、趯?duì)自定義函數(shù)應(yīng)用較少,所定義的公式過(guò)于簡(jiǎn)單、缺乏可維護(hù)性;
?、垡?yàn)槿狈?duì)高級(jí)函數(shù)的應(yīng)用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
④認(rèn)為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計(jì)算手工操作過(guò)多,效率低、強(qiáng)度高。
下面以常見(jiàn)的已知導(dǎo)線點(diǎn)坐標(biāo)、已知中樁坐標(biāo),按指定導(dǎo)線點(diǎn)為測(cè)站和后視點(diǎn)計(jì)算極坐標(biāo)放樣數(shù)據(jù)的excel 過(guò)程來(lái)展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過(guò)程、高級(jí)函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設(shè)計(jì)
“導(dǎo)線點(diǎn)”表單、“中樁坐標(biāo)”表單向“總控界面”表單提供數(shù)據(jù)檢索和關(guān)聯(lián)的原始數(shù)據(jù),總控界面計(jì)算單個(gè)放樣數(shù)據(jù)、同時(shí)可以批量計(jì)算數(shù)據(jù)填寫(xiě)于“批量計(jì)算”表單。
總控界面可以自動(dòng)檢索“導(dǎo)線點(diǎn)”表單導(dǎo)線點(diǎn)個(gè)數(shù)、“中樁坐標(biāo)”表單中樁個(gè)數(shù),測(cè)站、后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁(樁號(hào))均采用下拉列表選擇,相應(yīng)的坐標(biāo)(X,Y)自動(dòng)檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯(cuò)、同時(shí)方便數(shù)據(jù)分類(lèi)管理。
2 關(guān)鍵技術(shù)
以下主要討論:?jiǎn)蝹€(gè)數(shù)據(jù)防止出錯(cuò),需要檢索;批量數(shù)據(jù)處理需要VBA 對(duì)單元格調(diào)用。
2.1 高級(jí)內(nèi)置函數(shù)應(yīng)用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動(dòng)檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫(xiě)作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標(biāo)把其他表單對(duì)應(yīng)值返回當(dāng)前單元格—把具有相同查找目標(biāo)的值從其他表單返回當(dāng)前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個(gè)中樁的樁號(hào)(K115+500),則后面兩列(C9、D9)中通過(guò)該函數(shù)自動(dòng)檢索到“中樁坐標(biāo)”表單對(duì)應(yīng)的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調(diào)用格式VLOOKUP 函數(shù)的調(diào)用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進(jìn)一步說(shuō)明,VLOOKUP (查找目標(biāo),查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標(biāo):VLOOKUP (B10, 中樁坐標(biāo)! $A$2: $C$999999,2,FALSE)中的第一個(gè)參數(shù)—“B10”,即中樁樁號(hào),當(dāng)前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標(biāo)! $A $2: $C$999999,2,FALSE)中的第二個(gè)參數(shù)—“中樁坐標(biāo)! $A$2:$C$999999”,即 “中樁坐標(biāo)”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進(jìn)行相應(yīng)變化。
需要特別注意的是:查找目標(biāo)(樁號(hào)列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,FALSE)中的第3 個(gè)參數(shù)—“2”,它是一個(gè)整數(shù)值。它是“返回值”在第二個(gè)參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個(gè)參數(shù)查找范圍“中樁坐標(biāo)! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個(gè)參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關(guān)鍵。精確即完全一樣,模糊即包含的意思。第4 個(gè)參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時(shí)則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗(yàn)證→數(shù)據(jù)驗(yàn)證→設(shè)置→序列→來(lái)源→選定所需表單對(duì)應(yīng)的列。
以設(shè)置導(dǎo)線點(diǎn)的測(cè)站為例(后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁也需要類(lèi)似設(shè)置),需要選擇導(dǎo)線點(diǎn)表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計(jì)算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉(zhuǎn)變?yōu)槎确置耄?、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計(jì)算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點(diǎn)相對(duì)于測(cè)站的X、Y 的坐標(biāo)增量;fwj 為對(duì)應(yīng)于dx、dy 的方位角,方位角計(jì)算結(jié)果單位為弧度。dx=0 時(shí),需要單獨(dú)討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯(cuò)!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計(jì)算
當(dāng)放樣采用極坐標(biāo)夾角方式時(shí),后視方向的坐標(biāo)增量為dtx, dty,中樁方向的坐標(biāo)增量為dx, dy,jiajiao 為計(jì)算結(jié)果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計(jì)算后視方向
hs = fwj(dtx, dty)
' 計(jì)算單個(gè)中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開(kāi)發(fā)——批量計(jì)算數(shù)據(jù)
計(jì)算后視方位角,確定計(jì)算范圍,表頭填寫(xiě),逐樁方位角計(jì)算、距離計(jì)算、夾角計(jì)算,數(shù)據(jù)回填表格。
核心技術(shù)是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時(shí)需要通過(guò)VAL 函數(shù)轉(zhuǎn)變?yōu)閿?shù)值才能參加計(jì)算)也可以單元格寫(xiě)入信息。源代碼略。
3 運(yùn)行過(guò)程
運(yùn)行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測(cè)站點(diǎn)編號(hào)、后視點(diǎn)編號(hào)、單個(gè)中樁樁號(hào),此時(shí)excel 自動(dòng)計(jì)算該中樁對(duì)應(yīng)的極坐標(biāo)放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開(kāi)始樁號(hào)、結(jié)束樁號(hào),批量計(jì)算放樣數(shù)據(jù)按鈕。
4 結(jié)論
本文通過(guò)創(chuàng)建excel 模板文件解決的問(wèn)題如下:
?、賳蝹€(gè)數(shù)據(jù)計(jì)算為了防止輸入錯(cuò)誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€(gè)數(shù)據(jù)的計(jì)算、格式化自定義了若干函數(shù)并予以引用舉例;
③為了完成批量數(shù)據(jù)計(jì)算編制了VBA 程序。
對(duì)于道路工程施工數(shù)據(jù)數(shù)據(jù)計(jì)算過(guò)程具有高效、防錯(cuò)等作用。本計(jì)算思路不但可以用于施工計(jì)算,也可以用于設(shè)計(jì)計(jì)算。
相關(guān)文章:
4.淺談高中政治調(diào)研型作業(yè)的設(shè)置論文
6.淺談數(shù)字媒體技術(shù)與數(shù)字媒體藝術(shù)的融合論文
: $C9999,2,FALSE)中的第二個(gè)參數(shù)—“中樁坐標(biāo)! $A淺談基于Excel的道路工程計(jì)算技術(shù)論文
道路工程是從事道路的規(guī)劃、勘測(cè)、設(shè)計(jì)、施工、養(yǎng)護(hù)等的一門(mén)應(yīng)用科學(xué)和技術(shù)。是土木工程的一個(gè)分支。以下是學(xué)習(xí)啦小編今天為大家精心準(zhǔn)備的:淺談基于Excel 的道路工程計(jì)算技術(shù)相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計(jì)算技術(shù)全文如下:
道路工程的施工現(xiàn)場(chǎng)數(shù)據(jù)(施工放樣、數(shù)量計(jì)算等)采用手工計(jì)算(各種計(jì)算器)具有直觀好理解的有點(diǎn),缺點(diǎn)是易出錯(cuò)、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點(diǎn)是計(jì)算準(zhǔn)確、效率高,缺點(diǎn)是需要編制專(zhuān)用的程序,需要專(zhuān)業(yè)人員有很好的編程能力,使用者需要一定的培訓(xùn)?;诖?,引入Excel 進(jìn)行相應(yīng)計(jì)算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計(jì)算過(guò)程可以采用插入函數(shù)計(jì)算等,在廣大工程人員中有了廣泛應(yīng)用;但是,仔細(xì)分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個(gè)界面,操作時(shí)宜相互干擾,宜造成原始數(shù)據(jù)易改動(dòng),數(shù)據(jù)量大時(shí),操作界面數(shù)據(jù)類(lèi)型多、混亂;
?、趯?duì)自定義函數(shù)應(yīng)用較少,所定義的公式過(guò)于簡(jiǎn)單、缺乏可維護(hù)性;
?、垡?yàn)槿狈?duì)高級(jí)函數(shù)的應(yīng)用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
?、苷J(rèn)為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計(jì)算手工操作過(guò)多,效率低、強(qiáng)度高。
下面以常見(jiàn)的已知導(dǎo)線點(diǎn)坐標(biāo)、已知中樁坐標(biāo),按指定導(dǎo)線點(diǎn)為測(cè)站和后視點(diǎn)計(jì)算極坐標(biāo)放樣數(shù)據(jù)的excel 過(guò)程來(lái)展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過(guò)程、高級(jí)函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設(shè)計(jì)
“導(dǎo)線點(diǎn)”表單、“中樁坐標(biāo)”表單向“總控界面”表單提供數(shù)據(jù)檢索和關(guān)聯(lián)的原始數(shù)據(jù),總控界面計(jì)算單個(gè)放樣數(shù)據(jù)、同時(shí)可以批量計(jì)算數(shù)據(jù)填寫(xiě)于“批量計(jì)算”表單。
總控界面可以自動(dòng)檢索“導(dǎo)線點(diǎn)”表單導(dǎo)線點(diǎn)個(gè)數(shù)、“中樁坐標(biāo)”表單中樁個(gè)數(shù),測(cè)站、后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁(樁號(hào))均采用下拉列表選擇,相應(yīng)的坐標(biāo)(X,Y)自動(dòng)檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯(cuò)、同時(shí)方便數(shù)據(jù)分類(lèi)管理。
2 關(guān)鍵技術(shù)
以下主要討論:?jiǎn)蝹€(gè)數(shù)據(jù)防止出錯(cuò),需要檢索;批量數(shù)據(jù)處理需要VBA 對(duì)單元格調(diào)用。
2.1 高級(jí)內(nèi)置函數(shù)應(yīng)用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動(dòng)檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫(xiě)作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標(biāo)把其他表單對(duì)應(yīng)值返回當(dāng)前單元格—把具有相同查找目標(biāo)的值從其他表單返回當(dāng)前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個(gè)中樁的樁號(hào)(K115+500),則后面兩列(C9、D9)中通過(guò)該函數(shù)自動(dòng)檢索到“中樁坐標(biāo)”表單對(duì)應(yīng)的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調(diào)用格式VLOOKUP 函數(shù)的調(diào)用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進(jìn)一步說(shuō)明,VLOOKUP (查找目標(biāo),查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標(biāo):VLOOKUP (B10, 中樁坐標(biāo)! $A$2: $C$999999,2,FALSE)中的第一個(gè)參數(shù)—“B10”,即中樁樁號(hào),當(dāng)前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標(biāo)! $A $2: $C$999999,2,FALSE)中的第二個(gè)參數(shù)—“中樁坐標(biāo)! $A$2:$C$999999”,即 “中樁坐標(biāo)”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進(jìn)行相應(yīng)變化。
需要特別注意的是:查找目標(biāo)(樁號(hào)列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,FALSE)中的第3 個(gè)參數(shù)—“2”,它是一個(gè)整數(shù)值。它是“返回值”在第二個(gè)參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個(gè)參數(shù)查找范圍“中樁坐標(biāo)! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個(gè)參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關(guān)鍵。精確即完全一樣,模糊即包含的意思。第4 個(gè)參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時(shí)則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗(yàn)證→數(shù)據(jù)驗(yàn)證→設(shè)置→序列→來(lái)源→選定所需表單對(duì)應(yīng)的列。
以設(shè)置導(dǎo)線點(diǎn)的測(cè)站為例(后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁也需要類(lèi)似設(shè)置),需要選擇導(dǎo)線點(diǎn)表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計(jì)算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉(zhuǎn)變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計(jì)算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點(diǎn)相對(duì)于測(cè)站的X、Y 的坐標(biāo)增量;fwj 為對(duì)應(yīng)于dx、dy 的方位角,方位角計(jì)算結(jié)果單位為弧度。dx=0 時(shí),需要單獨(dú)討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯(cuò)!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計(jì)算
當(dāng)放樣采用極坐標(biāo)夾角方式時(shí),后視方向的坐標(biāo)增量為dtx, dty,中樁方向的坐標(biāo)增量為dx, dy,jiajiao 為計(jì)算結(jié)果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計(jì)算后視方向
hs = fwj(dtx, dty)
' 計(jì)算單個(gè)中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開(kāi)發(fā)——批量計(jì)算數(shù)據(jù)
計(jì)算后視方位角,確定計(jì)算范圍,表頭填寫(xiě),逐樁方位角計(jì)算、距離計(jì)算、夾角計(jì)算,數(shù)據(jù)回填表格。
核心技術(shù)是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時(shí)需要通過(guò)VAL 函數(shù)轉(zhuǎn)變?yōu)閿?shù)值才能參加計(jì)算)也可以單元格寫(xiě)入信息。源代碼略。
3 運(yùn)行過(guò)程
運(yùn)行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測(cè)站點(diǎn)編號(hào)、后視點(diǎn)編號(hào)、單個(gè)中樁樁號(hào),此時(shí)excel 自動(dòng)計(jì)算該中樁對(duì)應(yīng)的極坐標(biāo)放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開(kāi)始樁號(hào)、結(jié)束樁號(hào),批量計(jì)算放樣數(shù)據(jù)按鈕。
4 結(jié)論
本文通過(guò)創(chuàng)建excel 模板文件解決的問(wèn)題如下:
?、賳蝹€(gè)數(shù)據(jù)計(jì)算為了防止輸入錯(cuò)誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
②為了完成單個(gè)數(shù)據(jù)的計(jì)算、格式化自定義了若干函數(shù)并予以引用舉例;
③為了完成批量數(shù)據(jù)計(jì)算編制了VBA 程序。
對(duì)于道路工程施工數(shù)據(jù)數(shù)據(jù)計(jì)算過(guò)程具有高效、防錯(cuò)等作用。本計(jì)算思路不但可以用于施工計(jì)算,也可以用于設(shè)計(jì)計(jì)算。
相關(guān)文章:
4.淺談高中政治調(diào)研型作業(yè)的設(shè)置論文
6.淺談數(shù)字媒體技術(shù)與數(shù)字媒體藝術(shù)的融合論文
:$C9999”,即 “中樁坐標(biāo)”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進(jìn)行相應(yīng)變化。需要特別注意的是:查找目標(biāo)(樁號(hào)列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標(biāo)! $A
淺談基于Excel的道路工程計(jì)算技術(shù)論文
道路工程是從事道路的規(guī)劃、勘測(cè)、設(shè)計(jì)、施工、養(yǎng)護(hù)等的一門(mén)應(yīng)用科學(xué)和技術(shù)。是土木工程的一個(gè)分支。以下是學(xué)習(xí)啦小編今天為大家精心準(zhǔn)備的:淺談基于Excel 的道路工程計(jì)算技術(shù)相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計(jì)算技術(shù)全文如下:
道路工程的施工現(xiàn)場(chǎng)數(shù)據(jù)(施工放樣、數(shù)量計(jì)算等)采用手工計(jì)算(各種計(jì)算器)具有直觀好理解的有點(diǎn),缺點(diǎn)是易出錯(cuò)、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點(diǎn)是計(jì)算準(zhǔn)確、效率高,缺點(diǎn)是需要編制專(zhuān)用的程序,需要專(zhuān)業(yè)人員有很好的編程能力,使用者需要一定的培訓(xùn)?;诖耍隕xcel 進(jìn)行相應(yīng)計(jì)算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計(jì)算過(guò)程可以采用插入函數(shù)計(jì)算等,在廣大工程人員中有了廣泛應(yīng)用;但是,仔細(xì)分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個(gè)界面,操作時(shí)宜相互干擾,宜造成原始數(shù)據(jù)易改動(dòng),數(shù)據(jù)量大時(shí),操作界面數(shù)據(jù)類(lèi)型多、混亂;
?、趯?duì)自定義函數(shù)應(yīng)用較少,所定義的公式過(guò)于簡(jiǎn)單、缺乏可維護(hù)性;
③因?yàn)槿狈?duì)高級(jí)函數(shù)的應(yīng)用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
?、苷J(rèn)為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計(jì)算手工操作過(guò)多,效率低、強(qiáng)度高。
下面以常見(jiàn)的已知導(dǎo)線點(diǎn)坐標(biāo)、已知中樁坐標(biāo),按指定導(dǎo)線點(diǎn)為測(cè)站和后視點(diǎn)計(jì)算極坐標(biāo)放樣數(shù)據(jù)的excel 過(guò)程來(lái)展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過(guò)程、高級(jí)函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設(shè)計(jì)
“導(dǎo)線點(diǎn)”表單、“中樁坐標(biāo)”表單向“總控界面”表單提供數(shù)據(jù)檢索和關(guān)聯(lián)的原始數(shù)據(jù),總控界面計(jì)算單個(gè)放樣數(shù)據(jù)、同時(shí)可以批量計(jì)算數(shù)據(jù)填寫(xiě)于“批量計(jì)算”表單。
總控界面可以自動(dòng)檢索“導(dǎo)線點(diǎn)”表單導(dǎo)線點(diǎn)個(gè)數(shù)、“中樁坐標(biāo)”表單中樁個(gè)數(shù),測(cè)站、后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁(樁號(hào))均采用下拉列表選擇,相應(yīng)的坐標(biāo)(X,Y)自動(dòng)檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯(cuò)、同時(shí)方便數(shù)據(jù)分類(lèi)管理。
2 關(guān)鍵技術(shù)
以下主要討論:?jiǎn)蝹€(gè)數(shù)據(jù)防止出錯(cuò),需要檢索;批量數(shù)據(jù)處理需要VBA 對(duì)單元格調(diào)用。
2.1 高級(jí)內(nèi)置函數(shù)應(yīng)用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動(dòng)檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫(xiě)作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標(biāo)把其他表單對(duì)應(yīng)值返回當(dāng)前單元格—把具有相同查找目標(biāo)的值從其他表單返回當(dāng)前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個(gè)中樁的樁號(hào)(K115+500),則后面兩列(C9、D9)中通過(guò)該函數(shù)自動(dòng)檢索到“中樁坐標(biāo)”表單對(duì)應(yīng)的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調(diào)用格式VLOOKUP 函數(shù)的調(diào)用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進(jìn)一步說(shuō)明,VLOOKUP (查找目標(biāo),查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標(biāo):VLOOKUP (B10, 中樁坐標(biāo)! $A$2: $C$999999,2,FALSE)中的第一個(gè)參數(shù)—“B10”,即中樁樁號(hào),當(dāng)前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標(biāo)! $A $2: $C$999999,2,FALSE)中的第二個(gè)參數(shù)—“中樁坐標(biāo)! $A$2:$C$999999”,即 “中樁坐標(biāo)”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進(jìn)行相應(yīng)變化。
需要特別注意的是:查找目標(biāo)(樁號(hào)列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,FALSE)中的第3 個(gè)參數(shù)—“2”,它是一個(gè)整數(shù)值。它是“返回值”在第二個(gè)參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個(gè)參數(shù)查找范圍“中樁坐標(biāo)! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個(gè)參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關(guān)鍵。精確即完全一樣,模糊即包含的意思。第4 個(gè)參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時(shí)則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗(yàn)證→數(shù)據(jù)驗(yàn)證→設(shè)置→序列→來(lái)源→選定所需表單對(duì)應(yīng)的列。
以設(shè)置導(dǎo)線點(diǎn)的測(cè)站為例(后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁也需要類(lèi)似設(shè)置),需要選擇導(dǎo)線點(diǎn)表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計(jì)算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉(zhuǎn)變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計(jì)算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點(diǎn)相對(duì)于測(cè)站的X、Y 的坐標(biāo)增量;fwj 為對(duì)應(yīng)于dx、dy 的方位角,方位角計(jì)算結(jié)果單位為弧度。dx=0 時(shí),需要單獨(dú)討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯(cuò)!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計(jì)算
當(dāng)放樣采用極坐標(biāo)夾角方式時(shí),后視方向的坐標(biāo)增量為dtx, dty,中樁方向的坐標(biāo)增量為dx, dy,jiajiao 為計(jì)算結(jié)果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計(jì)算后視方向
hs = fwj(dtx, dty)
' 計(jì)算單個(gè)中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開(kāi)發(fā)——批量計(jì)算數(shù)據(jù)
計(jì)算后視方位角,確定計(jì)算范圍,表頭填寫(xiě),逐樁方位角計(jì)算、距離計(jì)算、夾角計(jì)算,數(shù)據(jù)回填表格。
核心技術(shù)是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時(shí)需要通過(guò)VAL 函數(shù)轉(zhuǎn)變?yōu)閿?shù)值才能參加計(jì)算)也可以單元格寫(xiě)入信息。源代碼略。
3 運(yùn)行過(guò)程
運(yùn)行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測(cè)站點(diǎn)編號(hào)、后視點(diǎn)編號(hào)、單個(gè)中樁樁號(hào),此時(shí)excel 自動(dòng)計(jì)算該中樁對(duì)應(yīng)的極坐標(biāo)放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開(kāi)始樁號(hào)、結(jié)束樁號(hào),批量計(jì)算放樣數(shù)據(jù)按鈕。
4 結(jié)論
本文通過(guò)創(chuàng)建excel 模板文件解決的問(wèn)題如下:
?、賳蝹€(gè)數(shù)據(jù)計(jì)算為了防止輸入錯(cuò)誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€(gè)數(shù)據(jù)的計(jì)算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計(jì)算編制了VBA 程序。
對(duì)于道路工程施工數(shù)據(jù)數(shù)據(jù)計(jì)算過(guò)程具有高效、防錯(cuò)等作用。本計(jì)算思路不但可以用于施工計(jì)算,也可以用于設(shè)計(jì)計(jì)算。
相關(guān)文章:
4.淺談高中政治調(diào)研型作業(yè)的設(shè)置論文
6.淺談數(shù)字媒體技術(shù)與數(shù)字媒體藝術(shù)的融合論文
:$C9999,2,FALSE)中的第3 個(gè)參數(shù)—“2”,它是一個(gè)整數(shù)值。它是“返回值”在第二個(gè)參數(shù)給定的區(qū)域中的列數(shù)。本例中我們要返回的是“X”,它是第二個(gè)參數(shù)查找范圍“中樁坐標(biāo)! $A
淺談基于Excel的道路工程計(jì)算技術(shù)論文
道路工程是從事道路的規(guī)劃、勘測(cè)、設(shè)計(jì)、施工、養(yǎng)護(hù)等的一門(mén)應(yīng)用科學(xué)和技術(shù)。是土木工程的一個(gè)分支。以下是學(xué)習(xí)啦小編今天為大家精心準(zhǔn)備的:淺談基于Excel 的道路工程計(jì)算技術(shù)相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計(jì)算技術(shù)全文如下:
道路工程的施工現(xiàn)場(chǎng)數(shù)據(jù)(施工放樣、數(shù)量計(jì)算等)采用手工計(jì)算(各種計(jì)算器)具有直觀好理解的有點(diǎn),缺點(diǎn)是易出錯(cuò)、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點(diǎn)是計(jì)算準(zhǔn)確、效率高,缺點(diǎn)是需要編制專(zhuān)用的程序,需要專(zhuān)業(yè)人員有很好的編程能力,使用者需要一定的培訓(xùn)?;诖耍隕xcel 進(jìn)行相應(yīng)計(jì)算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計(jì)算過(guò)程可以采用插入函數(shù)計(jì)算等,在廣大工程人員中有了廣泛應(yīng)用;但是,仔細(xì)分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個(gè)界面,操作時(shí)宜相互干擾,宜造成原始數(shù)據(jù)易改動(dòng),數(shù)據(jù)量大時(shí),操作界面數(shù)據(jù)類(lèi)型多、混亂;
?、趯?duì)自定義函數(shù)應(yīng)用較少,所定義的公式過(guò)于簡(jiǎn)單、缺乏可維護(hù)性;
?、垡?yàn)槿狈?duì)高級(jí)函數(shù)的應(yīng)用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
④認(rèn)為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計(jì)算手工操作過(guò)多,效率低、強(qiáng)度高。
下面以常見(jiàn)的已知導(dǎo)線點(diǎn)坐標(biāo)、已知中樁坐標(biāo),按指定導(dǎo)線點(diǎn)為測(cè)站和后視點(diǎn)計(jì)算極坐標(biāo)放樣數(shù)據(jù)的excel 過(guò)程來(lái)展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過(guò)程、高級(jí)函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設(shè)計(jì)
“導(dǎo)線點(diǎn)”表單、“中樁坐標(biāo)”表單向“總控界面”表單提供數(shù)據(jù)檢索和關(guān)聯(lián)的原始數(shù)據(jù),總控界面計(jì)算單個(gè)放樣數(shù)據(jù)、同時(shí)可以批量計(jì)算數(shù)據(jù)填寫(xiě)于“批量計(jì)算”表單。
總控界面可以自動(dòng)檢索“導(dǎo)線點(diǎn)”表單導(dǎo)線點(diǎn)個(gè)數(shù)、“中樁坐標(biāo)”表單中樁個(gè)數(shù),測(cè)站、后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁(樁號(hào))均采用下拉列表選擇,相應(yīng)的坐標(biāo)(X,Y)自動(dòng)檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯(cuò)、同時(shí)方便數(shù)據(jù)分類(lèi)管理。
2 關(guān)鍵技術(shù)
以下主要討論:?jiǎn)蝹€(gè)數(shù)據(jù)防止出錯(cuò),需要檢索;批量數(shù)據(jù)處理需要VBA 對(duì)單元格調(diào)用。
2.1 高級(jí)內(nèi)置函數(shù)應(yīng)用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動(dòng)檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫(xiě)作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標(biāo)把其他表單對(duì)應(yīng)值返回當(dāng)前單元格—把具有相同查找目標(biāo)的值從其他表單返回當(dāng)前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個(gè)中樁的樁號(hào)(K115+500),則后面兩列(C9、D9)中通過(guò)該函數(shù)自動(dòng)檢索到“中樁坐標(biāo)”表單對(duì)應(yīng)的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調(diào)用格式VLOOKUP 函數(shù)的調(diào)用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進(jìn)一步說(shuō)明,VLOOKUP (查找目標(biāo),查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標(biāo):VLOOKUP (B10, 中樁坐標(biāo)! $A$2: $C$999999,2,FALSE)中的第一個(gè)參數(shù)—“B10”,即中樁樁號(hào),當(dāng)前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標(biāo)! $A $2: $C$999999,2,FALSE)中的第二個(gè)參數(shù)—“中樁坐標(biāo)! $A$2:$C$999999”,即 “中樁坐標(biāo)”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進(jìn)行相應(yīng)變化。
需要特別注意的是:查找目標(biāo)(樁號(hào)列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,FALSE)中的第3 個(gè)參數(shù)—“2”,它是一個(gè)整數(shù)值。它是“返回值”在第二個(gè)參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個(gè)參數(shù)查找范圍“中樁坐標(biāo)! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個(gè)參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關(guān)鍵。精確即完全一樣,模糊即包含的意思。第4 個(gè)參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時(shí)則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗(yàn)證→數(shù)據(jù)驗(yàn)證→設(shè)置→序列→來(lái)源→選定所需表單對(duì)應(yīng)的列。
以設(shè)置導(dǎo)線點(diǎn)的測(cè)站為例(后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁也需要類(lèi)似設(shè)置),需要選擇導(dǎo)線點(diǎn)表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計(jì)算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉(zhuǎn)變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計(jì)算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點(diǎn)相對(duì)于測(cè)站的X、Y 的坐標(biāo)增量;fwj 為對(duì)應(yīng)于dx、dy 的方位角,方位角計(jì)算結(jié)果單位為弧度。dx=0 時(shí),需要單獨(dú)討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯(cuò)!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計(jì)算
當(dāng)放樣采用極坐標(biāo)夾角方式時(shí),后視方向的坐標(biāo)增量為dtx, dty,中樁方向的坐標(biāo)增量為dx, dy,jiajiao 為計(jì)算結(jié)果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計(jì)算后視方向
hs = fwj(dtx, dty)
' 計(jì)算單個(gè)中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開(kāi)發(fā)——批量計(jì)算數(shù)據(jù)
計(jì)算后視方位角,確定計(jì)算范圍,表頭填寫(xiě),逐樁方位角計(jì)算、距離計(jì)算、夾角計(jì)算,數(shù)據(jù)回填表格。
核心技術(shù)是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時(shí)需要通過(guò)VAL 函數(shù)轉(zhuǎn)變?yōu)閿?shù)值才能參加計(jì)算)也可以單元格寫(xiě)入信息。源代碼略。
3 運(yùn)行過(guò)程
運(yùn)行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測(cè)站點(diǎn)編號(hào)、后視點(diǎn)編號(hào)、單個(gè)中樁樁號(hào),此時(shí)excel 自動(dòng)計(jì)算該中樁對(duì)應(yīng)的極坐標(biāo)放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開(kāi)始樁號(hào)、結(jié)束樁號(hào),批量計(jì)算放樣數(shù)據(jù)按鈕。
4 結(jié)論
本文通過(guò)創(chuàng)建excel 模板文件解決的問(wèn)題如下:
①單個(gè)數(shù)據(jù)計(jì)算為了防止輸入錯(cuò)誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€(gè)數(shù)據(jù)的計(jì)算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計(jì)算編制了VBA 程序。
對(duì)于道路工程施工數(shù)據(jù)數(shù)據(jù)計(jì)算過(guò)程具有高效、防錯(cuò)等作用。本計(jì)算思路不但可以用于施工計(jì)算,也可以用于設(shè)計(jì)計(jì)算。
相關(guān)文章:
4.淺談高中政治調(diào)研型作業(yè)的設(shè)置論文
6.淺談數(shù)字媒體技術(shù)與數(shù)字媒體藝術(shù)的融合論文
:$C9999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。精確OR 模糊查找:VLOOKUP(B10,中樁坐標(biāo)! $A
淺談基于Excel的道路工程計(jì)算技術(shù)論文
道路工程是從事道路的規(guī)劃、勘測(cè)、設(shè)計(jì)、施工、養(yǎng)護(hù)等的一門(mén)應(yīng)用科學(xué)和技術(shù)。是土木工程的一個(gè)分支。以下是學(xué)習(xí)啦小編今天為大家精心準(zhǔn)備的:淺談基于Excel 的道路工程計(jì)算技術(shù)相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計(jì)算技術(shù)全文如下:
道路工程的施工現(xiàn)場(chǎng)數(shù)據(jù)(施工放樣、數(shù)量計(jì)算等)采用手工計(jì)算(各種計(jì)算器)具有直觀好理解的有點(diǎn),缺點(diǎn)是易出錯(cuò)、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點(diǎn)是計(jì)算準(zhǔn)確、效率高,缺點(diǎn)是需要編制專(zhuān)用的程序,需要專(zhuān)業(yè)人員有很好的編程能力,使用者需要一定的培訓(xùn)?;诖耍隕xcel 進(jìn)行相應(yīng)計(jì)算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計(jì)算過(guò)程可以采用插入函數(shù)計(jì)算等,在廣大工程人員中有了廣泛應(yīng)用;但是,仔細(xì)分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個(gè)界面,操作時(shí)宜相互干擾,宜造成原始數(shù)據(jù)易改動(dòng),數(shù)據(jù)量大時(shí),操作界面數(shù)據(jù)類(lèi)型多、混亂;
?、趯?duì)自定義函數(shù)應(yīng)用較少,所定義的公式過(guò)于簡(jiǎn)單、缺乏可維護(hù)性;
③因?yàn)槿狈?duì)高級(jí)函數(shù)的應(yīng)用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
④認(rèn)為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計(jì)算手工操作過(guò)多,效率低、強(qiáng)度高。
下面以常見(jiàn)的已知導(dǎo)線點(diǎn)坐標(biāo)、已知中樁坐標(biāo),按指定導(dǎo)線點(diǎn)為測(cè)站和后視點(diǎn)計(jì)算極坐標(biāo)放樣數(shù)據(jù)的excel 過(guò)程來(lái)展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過(guò)程、高級(jí)函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設(shè)計(jì)
“導(dǎo)線點(diǎn)”表單、“中樁坐標(biāo)”表單向“總控界面”表單提供數(shù)據(jù)檢索和關(guān)聯(lián)的原始數(shù)據(jù),總控界面計(jì)算單個(gè)放樣數(shù)據(jù)、同時(shí)可以批量計(jì)算數(shù)據(jù)填寫(xiě)于“批量計(jì)算”表單。
總控界面可以自動(dòng)檢索“導(dǎo)線點(diǎn)”表單導(dǎo)線點(diǎn)個(gè)數(shù)、“中樁坐標(biāo)”表單中樁個(gè)數(shù),測(cè)站、后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁(樁號(hào))均采用下拉列表選擇,相應(yīng)的坐標(biāo)(X,Y)自動(dòng)檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯(cuò)、同時(shí)方便數(shù)據(jù)分類(lèi)管理。
2 關(guān)鍵技術(shù)
以下主要討論:?jiǎn)蝹€(gè)數(shù)據(jù)防止出錯(cuò),需要檢索;批量數(shù)據(jù)處理需要VBA 對(duì)單元格調(diào)用。
2.1 高級(jí)內(nèi)置函數(shù)應(yīng)用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動(dòng)檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫(xiě)作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標(biāo)把其他表單對(duì)應(yīng)值返回當(dāng)前單元格—把具有相同查找目標(biāo)的值從其他表單返回當(dāng)前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個(gè)中樁的樁號(hào)(K115+500),則后面兩列(C9、D9)中通過(guò)該函數(shù)自動(dòng)檢索到“中樁坐標(biāo)”表單對(duì)應(yīng)的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調(diào)用格式VLOOKUP 函數(shù)的調(diào)用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進(jìn)一步說(shuō)明,VLOOKUP (查找目標(biāo),查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標(biāo):VLOOKUP (B10, 中樁坐標(biāo)! $A$2: $C$999999,2,FALSE)中的第一個(gè)參數(shù)—“B10”,即中樁樁號(hào),當(dāng)前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標(biāo)! $A $2: $C$999999,2,FALSE)中的第二個(gè)參數(shù)—“中樁坐標(biāo)! $A$2:$C$999999”,即 “中樁坐標(biāo)”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進(jìn)行相應(yīng)變化。
需要特別注意的是:查找目標(biāo)(樁號(hào)列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,FALSE)中的第3 個(gè)參數(shù)—“2”,它是一個(gè)整數(shù)值。它是“返回值”在第二個(gè)參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個(gè)參數(shù)查找范圍“中樁坐標(biāo)! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標(biāo)! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個(gè)參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關(guān)鍵。精確即完全一樣,模糊即包含的意思。第4 個(gè)參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時(shí)則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗(yàn)證→數(shù)據(jù)驗(yàn)證→設(shè)置→序列→來(lái)源→選定所需表單對(duì)應(yīng)的列。
以設(shè)置導(dǎo)線點(diǎn)的測(cè)站為例(后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁也需要類(lèi)似設(shè)置),需要選擇導(dǎo)線點(diǎn)表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計(jì)算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉(zhuǎn)變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計(jì)算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點(diǎn)相對(duì)于測(cè)站的X、Y 的坐標(biāo)增量;fwj 為對(duì)應(yīng)于dx、dy 的方位角,方位角計(jì)算結(jié)果單位為弧度。dx=0 時(shí),需要單獨(dú)討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯(cuò)!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計(jì)算
當(dāng)放樣采用極坐標(biāo)夾角方式時(shí),后視方向的坐標(biāo)增量為dtx, dty,中樁方向的坐標(biāo)增量為dx, dy,jiajiao 為計(jì)算結(jié)果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計(jì)算后視方向
hs = fwj(dtx, dty)
' 計(jì)算單個(gè)中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開(kāi)發(fā)——批量計(jì)算數(shù)據(jù)
計(jì)算后視方位角,確定計(jì)算范圍,表頭填寫(xiě),逐樁方位角計(jì)算、距離計(jì)算、夾角計(jì)算,數(shù)據(jù)回填表格。
核心技術(shù)是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時(shí)需要通過(guò)VAL 函數(shù)轉(zhuǎn)變?yōu)閿?shù)值才能參加計(jì)算)也可以單元格寫(xiě)入信息。源代碼略。
3 運(yùn)行過(guò)程
運(yùn)行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測(cè)站點(diǎn)編號(hào)、后視點(diǎn)編號(hào)、單個(gè)中樁樁號(hào),此時(shí)excel 自動(dòng)計(jì)算該中樁對(duì)應(yīng)的極坐標(biāo)放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開(kāi)始樁號(hào)、結(jié)束樁號(hào),批量計(jì)算放樣數(shù)據(jù)按鈕。
4 結(jié)論
本文通過(guò)創(chuàng)建excel 模板文件解決的問(wèn)題如下:
①單個(gè)數(shù)據(jù)計(jì)算為了防止輸入錯(cuò)誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€(gè)數(shù)據(jù)的計(jì)算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計(jì)算編制了VBA 程序。
對(duì)于道路工程施工數(shù)據(jù)數(shù)據(jù)計(jì)算過(guò)程具有高效、防錯(cuò)等作用。本計(jì)算思路不但可以用于施工計(jì)算,也可以用于設(shè)計(jì)計(jì)算。
相關(guān)文章:
4.淺談高中政治調(diào)研型作業(yè)的設(shè)置論文
6.淺談數(shù)字媒體技術(shù)與數(shù)字媒體藝術(shù)的融合論文
:$C9999,2,F(xiàn)ALSE)中最后一個(gè)參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關(guān)鍵。精確即完全一樣,模糊即包含的意思。第4 個(gè)參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時(shí)則表示模糊。2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗(yàn)證→數(shù)據(jù)驗(yàn)證→設(shè)置→序列→來(lái)源→選定所需表單對(duì)應(yīng)的列。
以設(shè)置導(dǎo)線點(diǎn)的測(cè)站為例(后視點(diǎn)、開(kāi)始樁號(hào)、結(jié)束樁號(hào)、單個(gè)中樁也需要類(lèi)似設(shè)置),需要選擇導(dǎo)線點(diǎn)表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計(jì)算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉(zhuǎn)變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計(jì)算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點(diǎn)相對(duì)于測(cè)站的X、Y 的坐標(biāo)增量;fwj 為對(duì)應(yīng)于dx、dy 的方位角,方位角計(jì)算結(jié)果單位為弧度。dx=0 時(shí),需要單獨(dú)討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯(cuò)!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計(jì)算
當(dāng)放樣采用極坐標(biāo)夾角方式時(shí),后視方向的坐標(biāo)增量為dtx, dty,中樁方向的坐標(biāo)增量為dx, dy,jiajiao 為計(jì)算結(jié)果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計(jì)算后視方向
hs = fwj(dtx, dty)
' 計(jì)算單個(gè)中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開(kāi)發(fā)——批量計(jì)算數(shù)據(jù)
計(jì)算后視方位角,確定計(jì)算范圍,表頭填寫(xiě),逐樁方位角計(jì)算、距離計(jì)算、夾角計(jì)算,數(shù)據(jù)回填表格。
核心技術(shù)是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時(shí)需要通過(guò)VAL 函數(shù)轉(zhuǎn)變?yōu)閿?shù)值才能參加計(jì)算)也可以單元格寫(xiě)入信息。源代碼略。
3 運(yùn)行過(guò)程
運(yùn)行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測(cè)站點(diǎn)編號(hào)、后視點(diǎn)編號(hào)、單個(gè)中樁樁號(hào),此時(shí)excel 自動(dòng)計(jì)算該中樁對(duì)應(yīng)的極坐標(biāo)放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開(kāi)始樁號(hào)、結(jié)束樁號(hào),批量計(jì)算放樣數(shù)據(jù)按鈕。
4 結(jié)論
本文通過(guò)創(chuàng)建excel 模板文件解決的問(wèn)題如下:
?、賳蝹€(gè)數(shù)據(jù)計(jì)算為了防止輸入錯(cuò)誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€(gè)數(shù)據(jù)的計(jì)算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計(jì)算編制了VBA 程序。
對(duì)于道路工程施工數(shù)據(jù)數(shù)據(jù)計(jì)算過(guò)程具有高效、防錯(cuò)等作用。本計(jì)算思路不但可以用于施工計(jì)算,也可以用于設(shè)計(jì)計(jì)算。
相關(guān)文章: