利用Excel自定义函数检测工程试验分析

2014-07-09 02:07薛万标
科技创新与应用 2014年20期

薛万标

摘 要:文章主要介绍在没有专业的测量软件的情况下,通过使用在电脑上广泛使用的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