How do I compare text in Excel cells to see if same words are found?

前端 未结 2 1304
星月不相逢
星月不相逢 2021-01-16 12:23

I have several rows of Excel cells which contain a string of words, all separated by commas. I want to compare each cell with another cell to check if any of the words match

相关标签:
2条回答
  • 2021-01-16 12:38

    From here

    To check if the string is equal to another you can use Exact
    =EXACT(text1,text2)

    Text1 is the first text string.

    Text2 is the second text string.

    0 讨论(0)
  • 2021-01-16 12:56

    I think you would be best served using VBA which you could then deploy as a User Defined Function (UDF)

    • hold down altf11 to go to the VBE
    • Insert ... Module
    • copy and paste in the code below
    • hold down altf11 to go back to Excel

    Then call the function in Excel such as
    =DupeWord(A1,A2) to find any matches between A1 and A2

    enter image description here

    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
    
    0 讨论(0)
提交回复
热议问题