Excel中有很多函数,大家熟练使用的函数不过20个左右,其中包括文本函数,日期函数,统计函数,逻辑函数,数学三角函数,财务函数等等,通常稍微单一的问题,单个函数就够了,但是更多的是函数的组合应用,或者添加必要的辅助列使公式更容易理解。
如下图所示,从身份证中获取出生日期和性别:
性别:C1=IF(MOD(MID(A1,17,1),2)=1,"男","女")
这些公式虽然逻辑比较简单,但输入的时候参数太多,稍嫌繁琐。那么能不能自己构造一个函数呢,你如果有这样的想法,恭喜你还有很大的进步空间。
实施步骤
1、 打开EXCEL,使用组合键ALT+F11打开vba编辑器
2、 插入模块,并修改名称为“自定义函数”,不修改也不影响。
3、 在代码区输入下列代码:
Function Birthday(身份证)
y = --Mid(身份证, 7,4)
m = --Mid(身份证, 11,2)
d = --Mid(身份证, 13,2)
Birthday = DateSerial(y, m,d)
End Function
Function Sex(身份证)
Sex = --Mid(身份证, 17,1)
If Sex Mod 2 = 1 Then
Sex = "男"
Else
Sex = "女"
End If
End Function
OK,回到EXCEL界面
在B1单元格输入Bir,可以看到刚才构建的自定义函数已经出现了,我们可以输入完整名称,或直接双击出现的函数名
在输入完函数名称后,可以按Ctrl+Shift+A,调出函数的参数说明,任何函数都可以用这个命令。
这时,只要我们用鼠标选择A1就可以了,只有一个参数。
同理C1=SEX(A1)
知识点:
VBA自定义函数格式:
Function 函数名(参数1,参数2,…)
……
……
……
End function
网友评论