Excel内置了很多丰富的函数,大大方便我们进行数据处理等日常操作。但如果一个单元格内函数嵌套太多,不仅不直观,而且不易理解。同时,对于一些数据处理的需求,Excel内置函数或难以实现。此刻,我们可以自定义函数,方便自己调用。
例如,我们可以编写自定义函数,根据填写的身份证号码,判断位数是否正确,或者提取出生日期,判断性别,获取籍贯信息等个人信息。
再如,产品编号“P-11-305-22”这字符串,我们要得到“305”。如果用Excel内置函数,我们需要用到字符串截取函数Mid,然后结合Find函数找到分隔符“-”的位置。
我们以截取产品编号“P-11-305-22”的部分字符串为例,自定义函数。函数名称可根据自己的需求命名,这里我们命名为mySplit函数,并设置三个参数:
mySplit(需要拆分的字符串,拆分的分隔符,选取拆分后的第几个字符串)
Function mySplit(str As String, sep As String, i As Integer) As String
mySplit = Split(str, sep)(i - 1)
End Function
编写完自定义函数,不需要在VBA编辑环境点击运行,在单元格中使用即可。
对于简单函数的结合使用,自定义函数的优势可能不明显,但对于一些复杂的个性化需求,自定义函数不失为更好的选择。