2016-06-13 3 views
0

2つの列にテキストが入力されています。私は、2つのセルの間の任意の同一の単語について行ごとに比較したい。これはExcelの式やvba関数でどのように実現できますか?2つのセルに少なくとも1つの共通語句がある場合はtrue、そうでない場合はfalse:Excel式

よろしく、

+0

単語は単一のスペースで区切られていますか? –

+0

yes-single space – RTrain3k

+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

0

第3列が必要とされるであろう。 IE:
A .......... B .......... C
テキスト、1、別名...テキスト、2、別の...... =以下を貼り付けUDFを使用できるようにするためにCommonWords(A1、B1、 "")(テキスト、他の結果)

  1. Wouldn:OTとして

    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 
    

    本当の、偽の声明の代わりに分析するためにどの言葉が繰り返されているかを知る方が良いでしょうか?
    enter image description here

  2. 必要に応じて、単語の間にスペースを入れないようにする必要があります。
関連する問題