excel学习库

excel表格_excel函数公式大全_execl从入门到精通

一个函数抵N个公式,自定义函数提取身份证个人信息

Excel函数包括文本函数、统计函数、时间和日期函数、逻辑函数等14类函数,大大小小共计四百多个,虽然有如此多的函数,但也会遇到当前函数无法解决的问题,这时候就需要用到自定义函数; 自定义函数:顾名思义,就是自己定义的函数,当exce内置的函数无法满足工作需求,我们可以自定义一个函数来使用。 今天我们就用一个小例子,来展示自定义函数的魅力!案例展示 每个人都有唯一一张身份证,从一张身份证中可以提炼出此人的性别、年龄、出生年月日,下图中自定义了一个函数,来提取员工的个人信息,如下图所示:案例展示这里构建了一个函数,函数名为个人信息,自定义函数的名称可以随便起,最好能反映函数功能的名称,比如这里自定义函数主要是用来提取个人信息的,所以起名个人信息; 函数表达式:个人信息(参数1,参数2) 这个自定义函数一共有两个参数,第一个参数是个单元格,一般为存储身份证号码的单元格; 第二个参数可选值有三个,分别是0,1,2,表示要返回的数据类型,0表示返回年龄、1表示返回性别、2表示返回出生年月; 话不多说,直接来看如何实现。 自定义函数 打开Visual Basic,插入一个模块,输入以下代码:Function /End Function代表自定义函数开始与结束,先定义函数名为个人信息,括号内为参数类型,参数1为单元格,参数2为一个字符串,默认等于0; 接着利用判断语句IF来完成函数的3个功能,一个参数代表一个功能。 第一段表示:如果输入的参数是0,则返回当前员工的年龄。先利用mid函数取出当年员工的出生年份,与当前年份的差值,即为年龄; 第二段表示:如果输入的参数是1,则返回当前员工的性别。对于当前的身份证号码,第17位数字表示性别:奇数表示男性,偶数表示女性;取出倒数第二位数字,除2取余,有余数代表是奇数男性,无余数代表是偶数女性,这里的iif函数与表格中的函数if功能一致,也是三个参数,第一个参数是判断条件,条件成立返回第二个参数,条件不成立返回第三个参数。 第三段表示:如果输入的参数是2,则返回当前员工的出生年月日。这里同第一段,利用MID函数取出员工的年月日,并利用TEXT函数来格式化输入。 详细代码如下所示: Function 个人信息(rng As Range, Optional 参数 As String = 0) If 参数 = 0 Then 个人信息 = Year(Now()) - (19 & Mid(rng, Len(rng) / 2, 2)) ElseIf 参数 = 1 Then 个人信息 = IIf(Mid(rng, 17, 1) Mod 2, "女", "男") ElseIf 参数 = 2 Then 个人信息 = Application.Text(Mid(rng, 7, 8), "0000-00-00") End If End Function 注:函数名、参数名可随意改变,这里的参数0,1,2也可以用汉字年龄、性别、出生年月来表示。效果展示小结 这里的一个函数就相当于平时的三个函数,实现了三个功能,极大的方便的我们的工作。同样,我们可以在上面的基础上继续添加其它功能,比如提取员工出生当天的星期、星座、工龄等等,可以实现N个小功能。 自定义函数的好处在于简化复杂的公式,可以和工作表函数相互嵌套使用,可重复利用。小伙伴们学会了吗? 如果觉得有用,欢迎关注我,定期分享数据小技巧。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接