Excel中进行自定义函数的设置技巧
发布时间:2023-03-14 00:28:37
在工作中有时会遇到在编写公式时,找不到适合的EXCEL内置函数,这时就可以考虑使用自定义函数了。今天,小编就教大家在Excel中进行自定义函数的设置技巧。
Excel中进行自定义函数的设置步骤
下面通过一个例子来学习简单的编写自定义函数
例:下面表格中需要计算一些三角形的面积
B列是底边长,C列是高,要求在D列通过公式计算三角形面积。
(通常我们会在D3单元格用公式 =B3*C3/2 来计算,然后把这个公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子,通过它来学习编写简单的自定义函数)
1、打开VBA窗口
按ALT+F11调出VBA窗口,插入一个用户模块。
2、编写代码
通常自定义函数是用function命令开始的,在这个命令后面给它指定一个名字和参数
把下面这个自定义函数代码粘贴到刚插入的用户模块中就可以使用了。
Function sjxmj(di, gao)
sjxmj = di * gao / 2
End Function
这段代码非常简单只有三行,先看第一行,其中sjxmj是自己取的函数名字,括号中的是参数,也就是变量,di表示“底边长”,gao表示“高”,两个参数用逗号隔开。
再看第二行,这是计算过程,将di*gao/2这个公式赋值给sjxmj,即自定义函数的名字。
再看第三行,它是与第一行成对出现的,当你手工输入第一行的时候,第三行的end function就会自动出现,表示自定义函数的结束。
3、使用自定义函数
回到EXCEL窗口,我们在D3单元格中输入公式 =sjxmj(b3,c3) ,就会得到这一行的三角形面积了,它的使用方法同内置函数完全一样。
通过上面例子可以了解自定义函数的编写和使用方法,下面再介绍一个稍微复杂点的自定义函数。
经常对数据进行处理的朋友可以会遇到多条件查找某一个数据,一般这种情况需要编写“数组公式”来解决,公式较长,也不易理解。
比如下面统计成绩的表格,需要根据A1:D7的成绩表,统计出两门功能都在90分以上的学生人数。
大家可以看到在H3单元格中的公式比较长,理解起来也有一定难度。
我们通过自定义函数也可以得到正确结果,函数代码如下:
Function 统计(a, b, c, d, e)
For i = 1 To a.Rows.Count
If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then
统计 = 统计 + 1
End If
Next
End Function
这个函数用了五个参数(因为涉及到一个区域和四个条件)
参数a表示要统计的区域,在此例中为B2:E7
参数b表示要统计的是哪一个班级,在此例中为G3单元格
参数c表示数学成绩相对于区域第一列向右的列数,在此例中为3
参数d表示数学成绩相对于区域第一列向右的列数,在此例中为4
参数e表示分数,在此例中为90分
提示:要注意参数c和d“相对”于“区域”的列数,并非是从A列开始向右的列数。
把上面这段代码也粘贴到用户模块中就可以使用了
回到EXCEL窗口,在H3单元格中输入公式 =统计($B$2:$E$7,G3,3,4,90) 就可以显示正确结果了。
Function 统计2(a, b)
For i = 1 To a.Rows.Count
If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then
统计 = 统计 + 1
End If
Next
End Function
在表格中的H3单元格中输入公式 =统计2($B$2:$E$7,G3) 就可以了。
从上面可以看出,自定义函数可以使用“汉字”做为函数的名字,方便记忆,也可以根据实际情况对参数进行简化。
通常这种时候需要在H3单元格使用数组公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))
提示:
如果我们的成绩表格式是固定的,各科目成绩位置相对于区域也是固定的,而且要统计的分数也是固定的90分,就可以在自定义函数中将参数的数量减少到两个,如下:


猜你喜欢
- word本身无法设置彩打还是黑白。针对彩色打印机,在打印文件时点击打印机属性。高级选项中勾选灰度选项。不同打印机设置路径略有不同,只要找到其
- 很多朋友使用Word软件制作试卷等素材时都需要用到横线等图案,但是却不知如何在Word页面画出横线。下面小编就为大家介绍在word中画横线的
- 现在,市场调研机构TrendForce给出了今年第二季度全球笔记本电脑出货量报告,惠普依然遥遥领先,而联想继续在第二的位置上。具体来说,今年
- 此前,微信一直没有夜间模式,很多用户都表示很想拥有,所以在微信夜间模式正式上线之后,很多用户都迫不及待的换上了夜间模式,但用着用着却发现还是
- 自从更新Win11系统之后,就会发现各种各样的小bug,就比如最近有用户发现Win11桌面快捷方式不见了?那么这个问题该如何解决呢?下面就和
- 美图秀秀怎么把腿拉长?美图秀秀手机版APP中有一项名为“增高”的功能,顾名思义,这项功能的作用就是将照片局部拉伸以达到照片增高的目的,如果你
- 之前介绍过几种加密 iPhone 照片的方法,例如隐藏进计算器或者使用插件。下面介绍一款完全适配 iOS 12-12.1.2 越狱的插件,可
- 虽说WPS表格制表能力非常好,但在制作简单表格时,我们优先考虑WPS文字来制作。但是要怎样才能简调整单元格呢?接下来小编举例简单的例子告诉大
- 用文本写出来的公式(无等号)。但旁边的单元格却要算出前面文本公式的计算值。这种使用常常用在建筑类数据统计方面,就是说计算机结果部分是如何快速
- 迅捷pdf编辑器如何给pdf插入新的文档页面?相信很多朋友的工作中都有用到迅捷pdf编辑器软件,不过你们知道迅捷pdf编辑器如何编辑pdf并
- 1.首先我们在打开制作好的演示文稿中的首页上方找到“幻灯片放映”,如图1:2.接着在“幻灯片放映”下面找到“排练计时”,如图2:3.点击“排
- 有时在遇到了问题之后,却不知道该怎么解决,如何将Terminal活动完整的记录下来,下面有个不错的方法,大家可以看看有些MAC用户是Term
- 随着iphone的流行,苹果大行其道。越来越多的应用开发者加入苹果的行列,而还有更多想加入该行列的朋友苦于没有苹果机而止步,网上虽然有很多装
- 在制作wps表格的时候,要怎么在表格中设置宏呢?下面小编就为你介绍wps表格怎么设置宏的方法啦!wps表格设置宏的方法:当我们打开wps表格
- 我们通常想要将一列数据从小或者从大排序,通过数学公式,而不想要一行一行的计算就可以利用excel解决了,今天,小编就教大家在Excel中个体
- 小米air13.3可以装win7吗?小米笔记本Air13.3是一款高性能的轻薄本,系统预装了win10家庭版本,但是有的用户想要使用win7
- 在日常工作中许多朋友在制作一些数据表格的时候经常会用到公式运算,其中包括了将多个表格中的数据相加求和,今天小编就为大家介绍Excel多行多列
- 通过iOS8的多任务处理界面,我们可以在APP之间即时切换并继续执行不同的APP。iOS的多任务处理不会降低前台应用软件的性能,也不会额外消
- 我们在使用电脑的时候,有的时候可能会有共享打印机、共享文件的需要。很多小伙伴还不是特别清楚共享文件、共享打印机的设置方法,下面小编就给大家一
- 在我们第一次打开Win10系统的时候都需要去设置用户名,而大多数用户多是随便写的,因此也让很多用户就想要去更改掉之前的用户名,这时候我们要如