怎么在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基础,这需要自身的日积月累了。

【注意事项】


      自定义的函数虽然可以像内置函数一样使用,不过却并不是真正的内置函数,只能用于当前工作簿。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-02

Excel中穿件自定义函数,需要在VBE界面添加模块,再在模块中添加自定义函数代码。

操作系统:win10;软件版本:Office2007

举例说明如下:

1.Alt+F11,打开VBE界面,在左上角空白处,点击右键,插入模块:

2.在模块中输入自定义函数代码:

这里自定义了一个叫立方的行数,参数一个,返回结果为参数的立方

3.关闭VBE,返回Excel,使用自定义函数如下:

本回答被网友采纳
第2个回答  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)。结果如图:

第3个回答  推荐于2017-12-16
自定义函数,要用VBA写宏代码,过程如下:
1、按Alt+F11快捷键
2、出现的的新窗口中,点击“插入”>“模块”
3、再次点击“插入”>“过程”
4、出现的对话框中输入名称,在“类型”中,点击“函数”
5、确定
6、在代码页中输入函数代码。本回答被提问者采纳
第4个回答  2016-04-04
打开Excel程序,按键盘组合键“Alt+F11”或切换至“开发工具”功能区并点击“Visual Basic”按钮进入VBA环境。
有关开启“开发工具”功能区的方法请参考本经验最后部分的讲解。

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选项”。

接着勾选“在功能区显示‘开发工具’选项卡”项即可。
相似回答