当前位置: 首页 > 图文教程 > 工具软件 > 办公软件 > Excel中自定义函数实例剖析

办公软件
源文件有改动 需刷新已导入Excel中的数据
不让Excel图表随源数据改变而改变
实时更新Excel文档外部数据源的数据
实现Excel动态链接外部数据库
从SharePoint列表往Excel导入数据
使用向导将数据从文本文件导入Excel中
Excel和Access间复制、导入和导出数据
Excel工作簿连接(导入)外部数据的方法
巧用宏快速合并200个Excel工作簿
Publisher 2007排版实例 模拟一张火车票
挽救文件 为你的WPS文件上个保险
在线版“PowerPoint”,Google演示文稿初体验
WPS表格提取身份证详细信息
巧用WPS表格制作倒计时
Word 2007自选图形操作技巧三则
Word 2007在文档中插入半页稿纸的小技巧
WPS文字插入表格简单实用技巧
关于Office文档保存的几点小常识
Office文档打印成为TIFF图形文件的步骤
巧用宏随意提取Excel单元格的批注内容

办公软件 中的 Excel中自定义函数实例剖析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 24 ::
收藏到网摘: n/a

  一、认识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中创建和使用自定义函数。

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

  假如你完全没有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