excel自定义一个具有Like运算符功能的工作表函数
- 2023-02-28
- 来源/作者: Wps Office教程网/ 菜鸟图库
- 268 次浏览
我们知道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。如果在两个单元格中分别输入字符串和匹配字符,也可以用单元格地址代替参数,如下图: