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

<em>Excel</em> 2010自定义函数

作者:乔山办公网日期:

返回目录:excel表格制作


举例说明。

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



比如A列
=lookup(1,0/(a1:a100<>""),row(1:100))
返回A1:A100最后一个不为空的单元格所在的行号
---
如果是返回值,则公式改成:
=lookup(1,0/(a1:a100<>""),a1:a100)

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

这段代码非常简单只有三行,第e5a48de588b6e799bee5baa6364一行,其中S是自己取的函数名字,括号中的是参数,也就是变量,a表示“底边长”,h表示“高”,两个参数用逗号隔开。
第二行,这是计算过程,将a*h/2这个公式赋值给S,即自定义函数的名字。
第三行,它是与第一行成对出现的,当你手工输入第一行的时候,第三行的end function就会自动出现,表示自定义函数的结束。

4、输入完毕,关闭窗口,自定义的函数就完成了。【你需要有一定的VB基础知识】

5、然后就是自定义函数实际的运用了,运用前可以做个简单的检验,看看是不是准确,一般来是不会错的。



有时候自定义复杂函数,需要基本的数学知识和VBA基础,这需要自身的日积月累了。

【注意事项】


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



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

试试这个:

=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函数得出的数字是文本类型的,无法进行求和,所以加两个负号,目的是让文本类型的数字参与运算,就会自动转化为数值类型的数字,就可以求和了。

相关阅读

  • <em>Excel</em> 2010自定义函数

  • 乔山办公网excel表格制作
  • 举例说明。例如要做一个单元格求抄和的自定义函数袭,比sum函数增加一个条件,就是如果单元格有删除线标记,则不计入该百单元格的数值。如图:第一步:在度visual basic模式下插入
关键词不能为空
极力推荐

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