如果两个单元格至少有一个共同词,则为真,否则为假:Excel 公式
IF two cells have at least one common word, true, else false: Excel formula
我有两列填充了文本。我想逐行比较两个单元格之间的任何相同单词。如何使用 Excel 公式或 vba 函数来实现?
此致,
尝试以下 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
需要第三列。即:
A…………B…………C
Text,1,another...Text,2,another......'=CommonWords(A1,B1,",") (Result another,Text)
为了能够使用 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:
- 知道哪些词被重复分析而不是真假陈述不是更好吗?
- 您需要使用它来忽略单词中的空格,如果需要则大写。
我有两列填充了文本。我想逐行比较两个单元格之间的任何相同单词。如何使用 Excel 公式或 vba 函数来实现?
此致,
尝试以下 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
需要第三列。即:
A…………B…………C
Text,1,another...Text,2,another......'=CommonWords(A1,B1,",") (Result another,Text)
为了能够使用 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:
- 知道哪些词被重复分析而不是真假陈述不是更好吗?
- 您需要使用它来忽略单词中的空格,如果需要则大写。