如果两个单元格至少有一个常用单词,则为true,否则为false:Excel公式

时间:2016-06-13 15:40:38

标签: excel excel-vba if-statement formula vba

我有两个用文本填充的列。我想比较两个单元格之间的任何相同单词的行。如何使用Excel公式或vba函数完成此操作?

致以最诚挚的问候,

2 个答案:

答案 0 :(得分:1)

尝试以下 UDF()

Public Function Kompare(s1 As String, s2 As String) As Boolean
    ary = Split(s1, " ")
    bry = Split(s2, " ")
    Kompare = False
    For Each a In ary
        For Each b In bry
            If a = b Then
                Kompare = True
                Exit Function
            End If
        Next b
    Next a
End Function

enter image description here

答案 1 :(得分:0)

需要第三栏。 IE:
甲..........乙..........Ç
文字,1,另一个......文字,2,另一个......'= CommonWords(A1,B1,“,”)(结果是另一个,文字)
为了能够使用UDF粘贴以下内容:

Function CommonWords(Text1 As Variant, Text2 As Variant, Character As Variant)
Dim ArrayText1 As Variant: ArrayText1 = Split(Text1, Character)
Dim ItemArrayText1 As Variant
Dim ArrayText2 As Variant: ArrayText2 = Split(Text2, Character)
Dim ItemArrayText2 As Variant
Dim SummaryCommonWords As Variant
    For Each ItemArrayText1 In ArrayText1
    If InStr(Text2, ItemArrayText1) > 0 And InStr(SummaryCommonWords, ItemArrayText1) = 0 Then SummaryCommonWords = IIf(SummaryCommonWords = "", ItemArrayText1, ItemArrayText1 & Character & SummaryCommonWords)
    Next ItemArrayText1
    For Each ItemArrayText2 In ArrayText2
    If InStr(Text1, ItemArrayText2) > 0 And InStr(SummaryCommonWords, ItemArrayText2) = 0 Then SummaryCommonWords = IIf(SummaryCommonWords = "", ItemArrayText2, ItemArrayText2 & Character & SummaryCommonWords)
    Next ItemArrayText2
    CommonWords = IIf(CStr(SummaryCommonWords) <> "", SummaryCommonWords, "No common words!")
End Function

作为OT:

  1. 不知道哪些字重复分析而不是真实的虚假陈述会不会更好?
    enter image description here
  2. 如果需要,您需要使用它来忽略单词中的空格。