楼主的问题,乍看确实是一头雾水,函数公式恐怕是难以胜任,建议楼主使用VBA程序进行判断、匹配。根据楼主的意思,大致写出如下的VBA程序代码,望笑纳。
(一)其VBA程序代码如下:
Sub Char_Compare()
Dim j1, j2, j3, j5, j6, j7, j8, j9, myArray1(100), myArray2(100)
On Error Resume Next '忽略运行过程中可能出现的错误
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表Sheet1
mysheet1.Columns("C:C") = "" '清空C列
For j1 = 2 To 1000 '从第2行到1000行
If mysheet1.Cells(j1, 1) <> "" And mysheet1.Cells(j1, 2) <> "" Then '如果两个单元格不是空白,则
j9 = 0 'j9初始化0
Erase myArray1
Erase myArray2
j2 = Len(mysheet1.Cells(j1, 1)) '获取单元格字符长度
j3 = Len(mysheet1.Cells(j1, 2))
For j5 = 1 To j2
myArray1(j5) = Mid(mysheet1.Cells(j1, 1), j5, 1) '把截取的结果放到数组相应的位置
Next
For j6 = 1 To j3
myArray2(j6) = Mid(mysheet1.Cells(j1, 2), j6, 1)
Next
For j7 = 1 To j2
For j8 = 1 To j3
If myArray1(j7) = myArray2(j8) And myArray2(j7) <> "" And myArray2(j8) <> "" And _
myArray2(j7) <> " " And myArray2(j8) <> " " Then
j9 = j9 + 1
myArray2(j8) = "" '如果存在相同,数组对应的值置空白
Exit For
End If
Next
If j9 >= 4 Then
mysheet1.Cells(j1, 3) = "正确"
Exit For
End If
Next
End If
Next
End Sub
(二)其执行结果如下: