1

単語の文字列を含むExcelセルの行がいくつかあり、すべてコンマで区切られています。各セルを別のセルと比較して、単語のいずれかが一致/重複していないかどうかを確認したいと思います。例えば:

セルA1:dog, cat, rabbit, mouse, lion, bear, tiger
セルA2:sausage, pickle, dog, cat, elephant, bread

結果:dog, cat

それが簡単な場合、結果は数値(たとえば、2)になることもあります。どうもありがとう!

4

2 に答える 2

2

ここから

文字列が別の文字列と等しいかどうかを確認するには、使用できますExact
=EXACT(text1,text2)

Text1 は最初のテキスト文字列です。

Text2 は 2 番目のテキスト文字列です。

于 2012-08-22T09:20:13.733 に答える
1

User Defined Function(UDF)として展開できるVBAを使用するのが最適だと思います

  • VBE に移動するには、を押したままにします。
  • 挿入 ... モジュール
  • 以下のコードをコピーして貼り付けます
  • を長押しして Excel に戻る


=DupeWord(A1,A2) 次に、A1 と A2 の間の一致を見つけるなど、Excel で関数を呼び出します。

ここに画像の説明を入力

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
于 2012-08-23T02:36:08.610 に答える