excel中通过相似度进行模糊匹配两列数据

上都是匹配相同的数据,如果两列数据相似excel中通过相似度进行模糊匹配两列数据,比如A列中a1:a5,B列中b1:b6数据,两列数据有不同程度的相似,如果相似度≥50,就算匹配成功,就在c列中显示出

需要用VBA,
供参考
For i = 1 To Sheet5.UsedRange.Rows.Count 'B 栏数据
Bstr = Trim(Sheet5.Range("B" & i).Value)
num = Len(Bstr)
For j = 1 To Sheet5.UsedRange.Rows.Count 'A 栏数据
astr = Trim(Sheet5.Range("A" & j).Value)
If num = 1 Then
If InStr(astr, Bstr) >= 1 Then
m = m + 1
End If
ElseIf num > 1 Then
For k = 1 To num
aaa = Mid(Bstr, k, 1)
If InStr(astr, Mid(Bstr, k, 1)) >= 1 Then
m = m + 1
End If
Next k
End If
Dim rate As Double
rate = m / num
If rate >= 0.5 Then
Sheet5.Range("C" & i).Value = Bstr
End If

Next j
Next i
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-18
不用写VBA,使用函数GetMatchingDegree(Text_a, Text_b)比较两个字符串的相似度
第2个回答  2016-01-19
使用辅助列,很容易解决,把问题作为内容(邮件主题一定要包含“excel”,本人以此为依据辨别非垃圾邮件,以免误删),excel样表文件(把现状和目标效果表示出来)作为附件发来看下 [email protected]
第3个回答  2016-01-19
第4个回答  2016-01-19
=vlookup(”*“&A1&”*“,B:B,1,0)
相似回答