如何针对以下问题在Excel工作表中编写公式:
我有一个范围为1的单元格,其值如下:
阿迪达斯
Nike USA
Reebok Japan
贝纳通的联合色彩
等
另一个范围2,以下
我爱阿迪达斯
贝纳通有多奇怪
Reebok到底是什么意思
奥巴马是民主党总统
现在我需要找到范围1中哪些单元格出现在范围2中的任何单词。所以我需要得到以下结果:
是的(阿迪达斯)
假(不耐克)
TRUE(Reebok)
TRUE(贝纳通)
答案 0 :(得分:0)
我编写了VBA代码,能够遍历 text_to_find 中的单词(具有挑战性的部分)。我可以想象可以编写一些人为的公式。我自己没有这样做(这将是最有趣的!)。
用户定义函数适用于您的示例。对于其他情况,您可能需要稍微调整一下。
Public Function substr_find(ByRef text_to_find As Range, ByRef range_to_search As Range) As Boolean
' Create a vector of words to search for
Dim sep As String
sep = " "
Dim words() As String
words = Split(text_to_find.Value, sep, -1, vbBinaryCompare)
' Search for the word, exit as True as soon as it is found
substr_find = False
Dim word As String
Dim wordv As Variant
For Each wordv In words
word = CStr(wordv)
If (Not (range_to_search.Find(word) Is Nothing)) Then
substr_find = True
Exit Function
End If
Next wordv
End Function