Excel中没有内置函数可以满足您的需求。您需要在VBA项目模块中自定义您自己的公式。所以我设法编写了一个计算匹配数量的函数。 Adter将其设置为模块后,可以在工作表中将其用作普通公式。
如果您不熟悉VBA编程,不要担心。按照说明将以下代码复制到VBA模块中。
Function CountPartialMatch(R1 As String, R2 As String, M As Long) As Long
Dim n As Long, L1 As Integer, L2 As Integer, Min As Integer, C As Integer, S1 As Integer, S2 As Integer
n = 0
L1 = Len(R1)
L2 = Len(R2)
Min = Application.WorksheetFunction.Min(L1, L2)
For C = M To Min
For S1 = 1 To (L1 - (C - 1))
For S2 = 1 To (L2 - (C - 1))
If Mid(R1, S1, C) = Mid(R2, S2, C) Then n = n + 1
Next S2
Next S1
Next C
CountPartialMatch = n
End Function
该公式需要3个参数:
=CountPartialMatch(First_Cell, Second_Cell, Min_Chrt)
的参数Min_Chrt
是字符的最小数目的匹配必须具备的。因此,如果您指定2,则会计算所有匹配的2个字符,3个字符,4,5,6 ......这会减少巧合的数量。如果它是1,公式会计算每个“a”=“a”,letter =字母。
请让我知道它是否适合您!
所以'WALLI'与'WALLINGER'匹配,好吧,前缀是一样的......但RouAmba与Roumba不一样,这是正确的吗?它应该带来一个“匹配”? –