我有一个文本字符串(标题)列表和一个" bad"关键字我想在这些标题中识别。
我遇到的问题是如何识别字符串中的单个文本。几个简单的公式可以做到完全匹配,但我需要它来识别标题中的单词。
例如,在"软件销售代表"我需要它来识别"软件"在列表中并返回单词" bad"。
我已经浏览了其他问题,这些问题在Stacked上没有特别的答案。
其他类似的问题已经说过这可以用星号/通配符来完成,但这不起作用。我知道条件格式可以做到这一点,但我需要一个公式,因为我有超过100"坏"关键字。
就我而言:
=IF(COUNTIF(K:K,"*"&E2&"*"),"Bad","Okay")
但是这个公式仍然只返回完全匹配。
E列是标题。列K是关键字。
答案 0 :(得分:0)
答案 1 :(得分:0)
将此函数放入模块中,并从像=ContainsBadwords(badwordsrange,rangetotest;false;false)
Public Function ContainsBadwords(BadWordList As range, ByVal SuspectRange As range, Optional ExactMatch As Boolean = True, Optional CaseSensitive As Boolean = True)
For Each ArrayItem In SuspectRange
If Not CaseSensitive Then ArrayItem = Strings.lcase(ArrayItem)
For Each Subwhat In BadWordList
If ExactMatch Then
test = (ArrayItem = Subwhat)
Else
test = InStr(ArrayItem, Subwhat) >= 1
End If
If test Then: ContainsBadwords = test: Exit Function
Next Subwhat
If test Then: ContainsBadwords = test: Exit Function
n = n + 1
Next ArrayItem
End Function
如果没有坏词,则返回TRUE表示blasphemy或FALSE。