- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XCEL自定义函数
XCEL自定义函数
|
浏览:58694
|
更新:2011-12-09 16:53
|
标签:? HYPERLINK /tag/3543 \t _blank excel?
1
2
3
4
5
6
HYPERLINK /album/03b2f78cabf9805ea337ae43.html 分步阅读
在工作中有时会遇到在编写公式时,找不到适合的EXCEL内置函数,或者虽然可以使用内置函数,但会造成公式复杂不易理解,这时就可以考虑使用自定义函数了。编写自定义函数需要一定的VBA基础,但完成后,就可以像使用内置函数一样方便了,任何人都可以使用。
工具/原料
excel
步骤/方法
1
下面通过一个例子来学习简单的编写自定义函数
2
例:下面表格中需要计算一些三角形的面积
3
B列是底边长,C列是高,要求在D列通过公式计算三角形面积。
4
(通常我们会在D3单元格用公式 =B3*C3/2 来计算,然后把这个公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子,通过它来学习编写简单的自定义函数)
5
1、打开VBA窗口按ALT+F11调出VBA窗口,插入一个用户模块。
6
2、编写代码通常自定义函数是用function命令开始的,在这个命令后面给它指定一个名字和参数把下面这个自定义函数代码粘贴到刚插入的用户模块中就可以使用了。Function sjxmj(di, gao)sjxmj = di * gao / 2End Function
这段代码非常简单只有三行,先看第一行,其中sjxmj是自己取的函数名字,括号中的是参数,也就是变量,di表示“底边长”,gao表示“高”,两个参数用逗号隔开。再看第二行,这是计算过程,将di*gao/2这个公式赋值给sjxmj,即自定义函数的名字。再看第三行,它是与第一行成对出现的,当你手工输入第一行的时候,第三行的end function就会自动出现,表示自定义函数的结束。
7
3、使用自定义函数回到EXCEL窗口,我们在D3单元格中输入公式 =sjxmj(b3,c3) ,就会得到这一行的三角形面积了,它的使用方法同内置函数完全一样。
8
通过上面例子可以了解自定义函数的编写和使用方法,下面再介绍一个稍微复杂点的自定义函数。
经常对数据进行处理的朋友可以会遇到多条件查找某一个数据,一般这种情况需要编写“数组公式”来解决,公式较长,也不易理解。
比如下面统计成绩的表格,需要根据A1:D7的成绩表,统计出两门功能都在90分以上的学生人数。
大家可以看到在H3单元格中的公式比较长,理解起来也有一定难度。我们通过自定义函数也可以得到正确结果,函数代码如下:
Function 统计(a, b, c, d, e)For i = 1 To a.Rows.CountIf b = a.Cells(i, 1) And a.Cells(i, c) = e And a.Cells(i, d) = e Then统计 = 统计 + 1End IfNextEnd 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.CountIf b = a.Cells(i, 1) And a.Cells(i, 3) = 90 And a.Cells(i, 4) = 90 Then统计 = 统计 + 1End IfNextEnd Function
在表格中的H3单元格中输入公式 =统计2($B$2:$E$7,G3) 就可以了。
从上面可以看出,自定义函数可以使用“汉字”做为函数的名字,方便记忆,也可以根据实际情况对参数进行简化。
9
通常这种时候需要在H3单元格使用数组公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7=90)*($E$2:$E$7=90),1,0))
10
提示:如果我们的成绩表格式是固定的,各科目成绩位置相对于区域也是固定的,而且要统计的分数也是固定的90分,就可以在自定义函数中将参数的数量减少到两个,如下:
您可能关注的文档
- D【CZGC-QTJCY】气体检测仪操作维护规程(定稿).docx
- wto美国汽油案.doc
- D【CZGC-WDB】温度表操作维护规程(定稿).docx
- WTS-18必威体育精装版无线便携式汽车称重仪.doc
- WTX型可曲挠橡胶弯头.doc
- d临床指导原则2006.doc
- wubi-hd和wubi安装Linux方式.docx
- wubi安装ubuntu.doc
- D值法和反弯点法.docx
- D区人工挖孔桩安全技术交底MOBAN.doc
- 2024年江西省寻乌县九上数学开学复习检测模拟试题【含答案】.doc
- 2024年江西省省宜春市袁州区数学九上开学学业水平测试模拟试题【含答案】.doc
- 《GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语》.pdf
- 中国国家标准 GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语.pdf
- GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- 《GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构》.pdf
- 中国国家标准 GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 中国国家标准 GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 《GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南》.pdf
文档评论(0)