标签:Excel公式,自定义函数
如果我想知道单元格数据中是否包含有“1”,该如何实现?当然,这里指单元格中包含“1”,而不是“10”、“11”等含有1的数据。示例数据如下图1所示。
图1
如图1,如果列B的单元格中包含“1”,则返回TRUE,否则返回FALSE。也就是说,类似于单元格B2中的数据,会返回TRUE;而单元格B6中的数据,会返回FALSE。
可以使用公式:
=FINDNew(A2,B2)
结果如下图2所示。
图2
也可以使用VBA编写自定义函数来实现。
打开VBE,插入一个标准模块,输入下面的代码:
Function FINDNew(FindWhat, WithinCell) As Boolean
With CreateObject("vbscript.regexp")
.Global = True
.IgnoreCase = False
.MultiLine = True
.Pattern = "\b" & FindWhat & "\b"
FINDNew = .test(WithinCell.Value)
End With
End Function
然后,返回工作表,在单元格中输入公式:
=FINDNew(A2,B2)
结果如下图3所示。
图3
注:本文示例整理自vbaexpress.com论坛,供有兴趣的朋友参考。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。