如何比较Excel单元格中的文本以查看是否find相同的单词?
我有几行Excel单元格,其中包含一串单词,全部用逗号分隔。 我想比较每个单元格与另一个单元格,以检查是否有任何单词匹配/重复。 例如:
细胞A1: dog, cat, rabbit, mouse, lion, bear, tiger
细胞A2: sausage, pickle, dog, cat, elephant, bread
结果: dog, cat
如果更容易,结果也可能是一个数字(例如2)。 非常感谢!
我认为你最好使用VBA,然后你可以部署为User Defined Function
(UDF)
- 按住alt f11去VBE
- 插入…模块
- 复制并粘贴在下面的代码
- 按住alt f11回到Excel
然后在Excel中调用函数如
=DupeWord(A1,A2)
findA1和A2之间的任何匹配
Usr Defined Function
Function DupeWord(str1 As String, str2 As String) As String Dim vArr1 Dim vArr2 Dim vTest Dim lngCnt As Long vArr1 = Split(Replace(str1, " ", vbNullString), ",") vArr2 = Split(Replace(str2, " ", vbNullString), ",") On Error GoTo strExit For lngCnt = LBound(vArr1) To UBound(vArr1) vTest = Application.Match(vArr1(lngCnt), vArr2, 0) If Not IsError(vTest) Then DupeWord = DupeWord & vArr1(lngCnt) & ", " Next lngCnt If Len(DupeWord) > 0 Then DupeWord = Left$(DupeWord, Len(DupeWord) - 2) Else strExit: DupeWord = "No Matches!" End If End Function
Use inside VBA
Sub test() MsgBox DupeWord("dog, cat, rabbit, mouse, lion, bear, tiger", "sausage, pickle, dog, cat, elephant, bread") End Sub
从这里
要检查string是否相等,可以使用Exact
=EXACT(text1,text2)
Text1是第一个文本string。
Text2是第二个文本string。