乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 怎么在<em>Excel</em>中创建自<em>定义函数</em>-e

怎么在<em>Excel</em>中创建自<em>定义函数</em>-e

作者:乔山办公网日期:

返回目录:excel表格制作


1、打开Excel程序,按键盘组合键“Alt+F11”或切换至“开发工具”功能区并点击“Visual Basic”按钮进入VBA环境。有关开启“开发工具”功能区的方法下面将会讲解。
  2、在VBA环境下,右击“MicrosoftExcel对象”,从弹出的菜单中选择“插入”->“模块”项。
  3、在打开的模块窗口中,输入以下代码:Function三项合并计算(a, b, c),三项合并计算 = a * b + c,End Function,该代码用于对提供的三个参数进行计算,结果返回函数本身。
  4、接着返回Excel界面,在单元格中输入公式“=三项合并计算(2,3,5)”并按回车键即可得结果。
  5、当然,我们还可以通过引用三个单元格数据来实现同样的计算功能:分别在A2、B2、C2单元格中输入2,3,5,在D2单元格中输入“”并按回车键即可得结果。
  6、如何开启“开发工具”功能区
  (1)点击“Office按钮”,在打开的扩展面板中点击“Excel选项”。
  (2)接着勾选“在功能区显示‘开发工具’选项卡”项即可。

举例说明。

例如要做一个单元格求和的自定义函数,比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)。结果如图:


公式要分怎么写,总有解决办法的。

试试这个:

=SUMPRODUCT(--TEXT(SUBSTITUTE(RIGHT(A1:F1,5),"-",)-SUBSTITUTE(LEFT(A1:F1,5),"-",),"h"))

=======================

【跟进回答】:

根据你在评论里提出来的需求,对公式作了优化。

=SUM(IFERROR((SUBSTITUTE(RIGHT(A1:F1,5),"-",)-SUBSTITUTE(LEFT(A1:F1,5),"-",))*24,))

注意:此公式是数组公式,必须按 SHIFT+CTRL+回车 三键退出单元格。

这个图,是又进一步优化,对小数位数作了限制,四舍五入保留1位小数。

=ROUND(SUM(IFERROR((SUBSTITUTE(RIGHT(A1:F1,5),"-",)-SUBSTITUTE(LEFT(A1:F1,5),"-",))*24,)),1)

注意:此公式还是需要三键结束。

=============

另外说说开始的那个公式中的两个负号,因为TEXT函数得出的数字是文本类型的,无法进e68a84e8a2ade799bee5baa6337行求和,所以加两个负号,目的是让文本类型的数字参与运算,就会自动转化为数值类型的数字,就可以求和了。



自定义函数需要使用VBA编程zhidao,在模块里面,编写下面的代码可以定义你的函数

Function 自定义函数1(x)
    自定义函数1 = 10 * LOG(x)
End Function

以后,你就可以像系统函数一样使用了,例如在单元格B2输入:

=自定义函数1(A2)

相关阅读

关键词不能为空
极力推荐
  • excel换行-Excel | 单元格内换行与撤销换行的方法

  • 前几天,同事填写表格,单元格内的文字要换行,按ENTER键怎么也不能实现。今天韩老师讲讲换行的方法。第一种方法:自动换行【开始】菜单【对齐方式】功能区有【自动换行】按钮:

ppt怎么做_excel表格制作_office365_word文档_365办公网