怎么在Excel中创建自定义函数
Excel有虽然有自带函数库,并不是很够用,不能满足所有可能出现的情况,有时候就需要使用自定义函数。
1、打开Excel程序,点击“工具”中的“宏”,选择“Visual Basic编辑器”选项。(按“Alt+F11”快捷键也可以实现)。
2、会跳出“Visual Basic编辑器-Book1”窗口。在“Visual Basic编辑器-Book1”窗口中,点击“插入”中的“模块”项。
3、会跳出命令窗口。在“Book1-模块1(代码)”窗口里输入你需要自定义的函数:
(举个例子)这里求三角形面积
自定义函数是用function命令开始的,在这个命令后面给它指定一个名字和参数
输入内容如下:
Function S(a, h)
S = a* h / 2
End Function
这段代码非常简单只有三行,第一行,其中S是自己取的函数名字,括号中的是参数,也就是变量,a表示“底边长”,h表示“高”,两个参数用逗号隔开。
第二行,这是计算过程,将a*h/2这个公式赋值给S,即自定义函数的名字。
第三行,它是与第一行成对出现的,当你手工输入第一行的时候,第三行的end function就会自动出现,表示自定义函数的结束。
4、输入完毕,关闭窗口,自定义的函数就完成了。【你需要有一定的VB基础知识】
5、然后就是自定义函数实际的运用了,运用前可以做个简单的检验,看看是不是准确,一般来是不会错的。
有时候自定义复杂函数,需要基本的数学知识和VBA基础,这需要自身的日积月累了。
【注意事项】
自定义的函数虽然可以像内置函数一样使用,不过却并不是真正的内置函数,只能用于当前工作簿。
2018-07-28 · 知道合伙人软件行家
举例说明。
例如要做一个单元格求和的自定义函数,比sum函数增加一个条件,就是如果单元格有删除线标记,则不计入该单元格的数值。如图:
第一步:在visual basic模式下插入模块,并创建自定义函数。代码如下:
Public Function mysum(qu As Range)
Dim s As Double
Dim b
mysum = 0
For Each b In qu
If b.Font.Strikethrough = False Then
mysum = mysum + b.Value
End If
Next
End Function
第二步:在c15单元格输入公式:=mysum(C4:C14)。结果如图:
1、按Alt+F11快捷键
2、出现的的新窗口中,点击“插入”>“模块”
3、再次点击“插入”>“过程”
4、出现的对话框中输入名称,在“类型”中,点击“函数”
5、确定
6、在代码页中输入函数代码。
有关开启“开发工具”功能区的方法请参考本经验最后部分的讲解。
2
在VBA环境下,右击“Microsoft Excel对象”,从弹出的菜单中选择“插入”->“模块”项。
3
在打开的模块窗口中,输入以下代码:
Function 三项合并计算(a, b, c)
三项合并计算 = a * b + c
End Function
该代码用于对提供的三个参数进行计算,结果返回函数本身。
4
接着返回Excel界面,在单元格中输入公式“=三项合并计算(2,3,5)”并按回车键即可得结果。
5
当然,我们还可以通过引用三个单元格数据来实现同样的计算功能:分别在A2、B2、C2单元格中输入2,3,5,在D2单元格中输入“”并按回车键即可得结果。
END
如何开启“开发工具”功能区
点击“Office按钮”,在打开的扩展面板中点击“Excel选项”。
接着勾选“在功能区显示‘开发工具’选项卡”项即可。