首页 > Excel专区 > Excel函数 >

excel自定义一个具有Like运算符功能的工作表函数

Excel函数 2023-01-13

我们知道VBA中的Like运算符是用来比较两个字符串的,其语法为:

result = string Like pattern

如果string与pattern匹配,则result为True,如果不匹配,则result为False。Like运算符的比较方式比较灵活,除了可以使用通配符外,pattern中还可以使用中括号“[ ]”。在中括号“[ ]”中,可以用由一个或多个字符组成的组与 string 中的任一字符进行匹配。虽然用COUNTIF工作表函数可以实现类似的比较功能,但COUNTIF函数不支持中括号。为此,我们可以创建一个自定义函数来实现类似Like运算符的功能,使用起来非常方便。方法如下:

按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,将下列代码输入到代码窗口中:

Public Function IsLike(sText As String, _
sPattern As String) As Boolean
IsLike = IIf(sText Like sPattern, True, False)
End Function

IsLike有2个字符串参数:sText和sPattern,sText类似于Like运算符的String, sPattern类似于Like运算符的pattern。其使用方法为:

=islike(sText,sPattern)

如果sText与sPattern匹配,则返回TRUE,否则FALSE。例如下面的公式:

=islike("EXCEL技巧天地","E*")

该公式检测“EXCEL技巧天地”字符串是否已字母“E”开头,结果返回TRUE。又如:

=islike("EXCEL技巧天地","*[技巧]*")

检测“EXCEL技巧天地”字符串中是否包含“技”或“巧”,结果返回TRUE。如果在两个单元格中分别输入字符串和匹配字符,也可以用单元格地址代替参数,如下图:


Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.