Excel中自定义函数实例剖析

最后的一点偏执

最后的一点偏执

2016-01-29 18:44

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

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

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

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

(本文来源于图老师网站,更多请访问http://m.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

展开更多 50%)
分享

猜你喜欢

Excel中自定义函数实例剖析

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

excel中如何自定义函数

电脑入门
excel中如何自定义函数

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Excel自定义筛选实例

电脑入门
Excel自定义筛选实例

ASP自定义函数仿VBA中域函数DLookup

Web开发
ASP自定义函数仿VBA中域函数DLookup

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

自定义PHP分页函数

PHP
自定义PHP分页函数

ASP自定义函数 仿VBA中域函数DLookup

ASP
ASP自定义函数 仿VBA中域函数DLookup

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Excel打印故障问答锦囊

Excel打印故障问答锦囊

Bash中对变量的操作

Bash中对变量的操作
下拉加载更多内容 ↓