如何在Excel中自定义函数
Excel中有财务、日期与时间、数据与三角函数、统计、查找与引用、数据库、文本、逻辑、信息、工程等等四百多个内置函数,这些函数给我们带来了很大的方便,我们只用其中的一小部分就觉得很有福利满满了,但Excel还给了我们更多的福利,我们还可以根据自己的需要编制自定义函数。具体做法如下∶
一、如何自定义函数
1.进入VBA编辑界面
按ALT+F11快捷键,进入VBA编辑界面(这些年Excel菜单一直变化,但这个快捷键一直未变)。
2.插入模块
点击“插入”→“模块”,得到∶
3.在模块中输入程序
这里我做一个简单的自定义程序,如下图所示∶
4.保存
保存的文件类型为“Excel启用宏的模板”,则函数可在本文件中使用。
若希望本自定义函数能够应用在其余工作簿,则另存为“加载宏”。
这样才能当作宏来使用,这样,我就自制出一个叫linbin的函数,格式是linbin(m,n)。
二、使用自定义函数
在Excel中点击“文件”→“插入函数”快捷菜单,在“用户定义”部分,得到∶
选择函数“linbin”,得到∶
在相应部分输入M与N的值,比如M=5,N=3,则有∶
述(最多18字点击“确定”,值为∶
其实,在有了这个自定义函数后,可以在excel单元格中直接输入“=linbin(m,n)”即可,就跟输入其它内置的函数一样。
三、笔者曾经的成功使用案例
当年,某大型企业的老板忽然要求按农历为员工发放生日礼品,人资需要把原来登记的公历生日全部改为农历生日,这需要依靠手机一个一个输入公历年月日时间查找记录相应的农历时间,因为公司人数成千上万,所以工作量特别大。我作为老师利用Excel自定义函数帮他们轻松解决了这个问题。具体做法如下∶
1.充分利用别人的研究成果
我也没有研究过农历与公历的对应关系,就到网上去学习,非常幸运的是,我居然找到了别人用VB编写的公历转到农历的自定义函数,这让我如获至宝。
2.小改进,大省力
但别人变得自定义函数也必须在excel中输入公历的年月日,才能够转化为农历,这种输入工作跟直接在网络上靠点击日历查看相应的农历时间是一样费力的。我发现该企业已经在Excel中输入了所有员工的档案资料,包括每个人的身份证号码,因为身份证号码中已经含有员工的生日信息,我觉得就没有必要再重复输入了。我用我熟悉的Excel中的len、left、mid等函数把身份证中的生日年月日提取出来,在别人编的自定义函数程序稍加修改,所做的函数就可以直接根据身份证中包含的公历生日信息转化为农历信息,只要在第一列输入自定义函数公式,然后再来个拷贝粘贴,花名册中所有的员工的对应农历生日都算出来了。
3.
四、重大好消息——Excel开始支持使用JavaScript编写自定义函数!!!
VB是给办公人员用的,现在Excel也支持用大家熟悉的爪哇语言编写自定义函数了,我们公司的程序员可以很轻松地根据工作需要在Excel中编制自己需要的自定义程序了,大家快去享受此项福利吧!