Excel中自定义函数实例剖析

2016-01-29 18:44 8 1 收藏

Excel中自定义函数实例剖析,Excel中自定义函数实例剖析

【 tulaoshi.com - 办公软件 】

  一、认识VBA

  在介绍自定义函数的具体使用之前,不得不先介绍一下VBA,原因很简单,自定义函数就是用它创建的。VBA的全称是Visual Basic for Application,它是微软最好的通用应用程序脚本编程语言,它的特点是容易上手,而且功能非常强大。

  在微软所有的Office组件中,如Word、Access、Powerpoint等等都包含VBA,如果你能在一种Office组件中熟练使用VBA,那么在其它组件中使用VBA的原理是相通的。

  Excel中VBA主要有两个用途,一是使电子表格的任务自动化;二是可以用它创建用于工作表公式的自定义函数。

  由此可见,使用Excel自定义函数的一个前提条件是对VBA基础知识有所了解,如果读者朋友有使用Visual Basic编程语言的经验,那么使用VBA时会感觉有很多相似之处。如果读者朋友完全是一个新手,也不必太担心,因为实际的操作和运用是很简单的。

  二、什么时候使用自定义函数?

  有些初学Excel的朋友可能有这样疑问:Excel已经内置了这么多函数,我还有必要创建自己的函数吗?

  回答是肯定的。原因有两个,它们也正好可以解释什么时候使用Excel自定义函数的问题。

  第一,自定义函数可以简化我们的工作。

  有些工作,我们的确可以在公式中组合使用Excel内置的函数来完成任务,但是这样做的一个明显缺点是,我们的公式可能太冗长、繁琐,可读性很差,不易于管理,除了自己之外别人可能很难理解。这时,我们可以通过使用自定义函数来简化自己的工作。

  第二,自定义函数可以满足我们个性化的需要,可以使我们的公式具有更强大和灵活的功能。

  实际工作的要求千变万化,仅使用Excel内置函数常常不能圆满地解决问题,这时,我们就可以使用自定义函数来满足实际工作中的个性化需求。

  上面的讲述比较抽象,我们还是把重点放在实际例子的剖析上,请大家在实际例子中进一步体会,进而学会在Excel中创建和使用自定义函数。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bangongruanjian/)

  下面我们通过两个典型实例,学习自定义函数使用的全过程。这里实际上假设读者朋友都有一定的VBA基础。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bangongruanjian/)

  假如你完全没有VBA基础也不要紧,当学习完实例后,若觉得自定义函数在自己以后的工作中可能用到,那么再去补充相应的VBA基础也不迟。

  (一) 计算个人调节税的自定义函数

  任务

  假设个人调节税的收缴标准是:工资小于等于800元的免征调节税,工资800元以上至1500元的超过部分按5%的税率征收,1500元以上至2000元的超过部分按8%的税率征收,高于2000元的超过部分按20%的税率征收。

  分析

  假设Sheet1工作表的A、B、C、D列中分别存放“姓名”、“总工资”、“调节税”、“税后工资”字段数据,如图1所示。


图 1

 

  平时使用较多的方法是借助嵌套使用IF函数计算,比如在C2单元格输入公式“=IF(B2<=800,0,IF(B2<=1500,(B2-800)*0.05,IF(B2<=2000,700*0.05+(B2-1500)*0.08,700*0.05+500*0.08+(B2-2000)*0.2)))”,然后通过填充柄复制公式到C列的其余单元格。

  既然公式能够解决问题,为什么还要使用自定义函数的方法呢?

  正如前面提到的两个方面的原因:一是公式看起来太繁琐,不便于理解和管理;二是公式的处理能力在面对稍微复杂一些的问题时便失去效用,比如假设调节税的税率标准会根据年龄的不同而改变,那么公式可能就无能为力了。

  使用自定义函数

  下面就通过此例介绍使用自定义函数的全过程,即使是初学Excel的朋友,也会感觉其操作实际上是非常简单的。

  1. 为了便于测试自定义函数的计算效果,可以先把上面采用公式计算的结果删去。然后选择菜单“工具→宏→Visual Basic编辑器”命令(或按下键盘Alt+F11组合键),打开Visual Basic窗口,我们将在这里自定义函数。

  2. 进入Visual Basic窗口后,选择菜单“插入→模块”命令,于是得到“模块1”,在其中输入如下自定义函数的代码(图2):

  Function TAX(salary)

  Const r1 As Double = 0.05

  Const r2 As Double = 0.08

  Const r3 As Double = 0.2

  Select Case salary

  Case Is <= 800

  TAX = 0

  Case Is <= 1500

  TAX = (salary - 800) * r1

  Case Is <= 2000

  TAX = (1500 - 800) * r1 + (salary - 1500) * r2

  Case Is 2000

  TAX = (1500 - 800) * r1 + (2000 - 1500) * r2 + (salary - 2000) * r3

  End Select

  End Function

来源:https://www.tulaoshi.com/n/20160129/1507090.html

延伸阅读
标签: 办公软件
大家知道,我们在编辑Excel工作表时,除了可以用其内置的函数处理表中的数据外,还可以根据自己的实际需要,自定义函数来处理表中的数据。 如图1所示是一个学生基本情况登记表,学号的编制原则是:前4位是年份,第5位是初、高中代码(1是初中,2是高中),第6位是年级代码(1分别代表初、高一等),第7、8位是班级代码,后面是序号。下面...
本人工作有一个月多了。对于android很多东西,都有了新的了解或者说真正的掌握。为了让更多的像我这样的小白少走弯路,所以我会坚持将我在工作中遇到的一些比较令我印象深刻的知识点整合出来给大家(顺序是按照我工作到现在的时间来制作的,其实也是想给自己一个记录吧。记录自己一路走来以及以后的路, 至少我想找到曾经的记录都有了)。 第...
Excel2010中内置了多种页眉和页脚格式,格式虽然多但不一定就能满足用户的个性需求,如果遇到这种情况该怎么办呢?其实不用担心,可以通过在“页眉和页脚工具设计”功能区自定义页眉和页脚,下面有个不错的教程,需要的朋友可以了解下,另外为大家整理了一些于此相关的问题,希望对大家有所帮助。 2010版的excel中插入的页眉和页脚...
标签: 电脑入门
为了将工作表中特定的显示设置(如行高、列宽、单元格选择、筛选设置和窗口设置等)和打印设置(页边距、纸张大小、页眉和页脚以及工作表设置等)保存在特定的视图中,用户可在设置后自定义视图模式,其具体操作为: 在视图选项卡的工作簿视图组中单击自定义视图按钮,如图所示: 在打开的视图管理器对话框中单击添加按钮,打开添加视图对话框...
标签: 办公软件
大家知道,我们在编辑Excel工作表时,除了可以用其内置的函数处理表中的数据外,还可以根据自己的实际需要,自定义函数来处理表中的数据。如图1所示是一个学生基本情况登记表,学号的编制原则是:前4位是年份,第5位是初、高中代码(1是初中,2是高中),第6位是年级代码(1分别代表初、高一等),第7、8位是班级代码,后面是序号。下面,我们以...