薛萬標
摘 要:文章主要介紹在沒有專業的測量軟件的情況下,通過使用在電腦上廣泛使用的Excel軟件編制自定義函數,通過Excel進行計算。Excel中大量的公式函數可以應用選擇,使用Microsoft Excel可以執行計算,分析信息并管理電子表格或網頁中的數據信息列表與數據資料圖表制作,可以實現許多方便的功能,帶給使用者方便,但是Excel中本身是含有大量的函數可以調用,但是其本身并不含有有關混凝土砼判定的函數,因此可以通過在Excel中編制自定義函數來進行相應的測算。
關鍵詞:Excel;自定義函數;工程試驗
前言
Excel中大量的公式函數可以應用選擇,但是Excel中并不含有有關混凝土砼判定的函數,因此我們可以通過在Excel中編制自定義函數來進行相應的測算。
1 Excel的介紹
Microsoft Excel是微軟公司的辦公軟件Microsoft office的組件之一,是由Microsoft為Windows和Apple Macintosh操作系統的電腦而編寫和運行的一款試算表軟件。一般說來,Excel主要用來進行有繁重計算任務的預算、財務、數據匯總等工作,Excel中大量的公式函數可以應用選擇,使用Microsoft Excel可以執行計算,分析信息并管理電子表格或網頁中的數據信息列表與數據資料圖表制作,可以實現許多方便的功能,帶給使用者方便。Excel中包含了很多的函數,但是其內置的函數并不一定總是滿足我們的需求,這時就可以通過定義自己的函數來解決問題。
2 自定義函數介紹
自定義函數是我們在Excel中設定的符合自己需要的函數,在有些工作中,我們可以選用Excel內置的函數來完成任務,但是這樣做有的時候會發現公式可能會會很冗長、繁瑣同時可讀性很差,因此我們就需要使用自定義函數來進行簡化。有時候在工作中,需要使用的函數在Excel的內置函數庫中無法找到,這時候就需要我們使用自定義函數來滿足實際工作中的個性化需求。在Excel中自定義函數是使用VBA來進行創建的, VBA是新一代標準宏語言,是基于Visual Basic for Windows 發展而來的。它與傳統的宏語言不同,傳統的宏語言不具有高級語言的特征,沒有面向對象的程序設計概念和方法。而VBA 提供了面向對象的程序設計方法,提供了相當完整的程序設計語言。VBA 易于學習掌握,可以使用宏記錄器記錄用戶的各種操作并將其轉換為VBA 程序代碼。這樣用戶可以容易地將日常工作轉換為VBA 程序代碼,使工作自動化。因此,對于在工作中需要經常使用Office 套裝軟件的用戶,學用VBA 有助于使工作自動化,提高工作效率。另外,由于VBA 可以直接應用Office 套裝軟件的各項強大功能,所以對于程序設計人員的程序設計和開發更加方便快捷。VBA主要能用來擴展Windows的應用程式功能,特別是Microsoft Office軟件。也可說是一種應用程式視覺化的Basic 腳本。VBA是微軟最好的通用應用程序腳本編程語言,功能強大。使用VBA可以規范用戶的操作,控制用于的操作行為,同時使操作界面人性化,方便用戶的操作,多個步驟的手工操作通過執行VBA代碼可以迅速的實現。
3 在Excel中設定自定義函數的方法
Excel內置的函數雖然很多,但是并不能滿足我們的所有需要,我們可以自定義一個函數,來完成一些特定的運算,下面我們列舉自定義函數的步驟進行介紹。
3.1 執行“工具→宏→Visual Basic編輯器”菜單命令(或按“Alt+F11”快捷鍵),打開Visual Basic編輯窗口。
3.2 在窗口中,執行“插入→模塊”菜單命令,插入一個新的模塊——模塊1。
3.3 在右邊的“代碼窗口”中輸入相應的代碼:
3.4 關閉窗口,自定義函數完成。
使用上述步驟完成的自定義函數只能在設定的工作簿名中完成設定的功能函數。
4 工程應用實例
根據上面介紹的操作步驟,進行操作,首先需要執行步驟:
(1)“工具→宏→Visual Basic編輯器”菜單命令(或按“Alt+F11”快捷鍵),打開Visual Basic編輯窗口。(2)在窗口中,執行“插入→模塊”菜單命令,插入一個新的模塊——模塊1。(3)在右邊的“代碼窗口”中輸入相應的代碼:該功能函數命名為tpd函數,此功能函數設定了三個參數,可以檢測三個檢測值,tpd函數是根據《公路工程水泥及水泥混凝土試驗規程》(JTG E30-2005)(T0553-2005)立方體抗壓強度試驗方法中所規定的方法進行編制的,從而對檢測出來的數據進行及時的歸納,減少因計算而出現的誤差,提高了數據處理的工作效率,計算人員可以很方便的根據處理出來的數據而做出判斷。自定義函數將人們從繁瑣的數據后期處理中解放了出來,有很高的實用價值。而且這個函數采用了模塊化的設計,可以根據需要進行相應的修改,就能很輕松的變為類似功能的函數,下面我們對函數中的設定要求進行說明:現將水泥混凝土立方體抗壓強度試驗方法的結果判定要求介紹如下:以3個試件測值的算術平均值為測定值,計算精確至0.1MPa。三個測值中的最大值或最小值中如有一個與中間值之差超過中間值的15%,則取中間值為測定值;如最大值和最小值與中間值之差均超過中間值的15%,則該組試驗結果無效。
代碼如下:
Function tpd(ByVal a1 As Double,ByVal a2 As Double,ByVal a3 As Double)
Dim MyArray(),i%,Average1,max1,min1,mid1,result
ReDim MyArray(0 To 2)endprint
Dim Index :Dim TEMP:Dim NextElement
'冒泡排序
MyArray(0) = a1
MyArray(1) = a2
MyArray(2) = a3
NextElement = 0'先將已處理的元素個數置為0
Do While (NextElement < UBound(MyArray)) '遍歷每一個元素
Index = UBound(MyArray) '讀取當前最大下標
Do While (Index > NextElement) '與前面的每一個元素比較
If MyArray(Index) < MyArray(Index - 1) Then'升序:如果當前值小于上一個值,則互換
TEMP = MyArray(Index)
MyArray(Index) = MyArray(Index - 1)
MyArray(Index - 1) = TEMP
End If
Index = Index - 1'將當前下標移到上一個值
Loop
NextElement = NextElement + 1'將已處理的元素個數加1
Loop
Average1=Application.WorksheetFunction.Average(MyArray)
min1 = Application.Index(MyArray,1)
mid1 = Application.Index(MyArray,2)
max1 = Application.Index(MyArray,3)
If Abs(mid1 - min1) > mid1 * 0.15 And Abs(max1 - mid1) >mid1*0.15 Then
tpd = “該組試驗結果無效!”
ElseIf Abs(mid1 - min1) < mid1 * 0.15 And Abs(max1 - mid1) < mid1 * 0.15 Then
tpd = Average1
Else
tpd = mid1
End If
End Function
輸入完成后,回到Excel工作表界面,只需輸入“=tpd(*,*,*)”就可計算出相應的數據。*- -代表要計算的三個強度值,可以是數值,表達式,或單元格引用。
5 結束語
文章介紹了怎樣在Excel中設定自定義函數來簡化在工程試驗中對于數據的處理,希望讀者可以從中有所借鑒。
參考文獻
[1]何凌霄.Excel中文本數據的排序方法[J].農村電工,2009,12.
[2]在Excel中自定義函數[J].中國會計電算化,2003,5.endprint