如何在两个单元格之间进行部分字符串匹配,其中部分字符串可以位于单元格中的任何位置。
示例:单元 1 可能具有 AXG58934x0,单元 2 可能具有 05893400 或者单元 1 可能具有 5893400A,单元 2 可能具有 X1000000589340000y 单元应匹配“58934”部分。
希望 Excel 查看单元格 1 和单元格 2,如果在字符上找到匹配项,则查看下一个字符,如果匹配,则查看下一个字符,如果有 5 个连续字符匹配,则返回单词“匹配”。
VBA
解决方案] 实施:VBAProject
查看器中找到您正在处理的图书Insert Module
=CSTMATCH()
该函数采用 2 个输入(第一个字符串和第二个字符串),如下图所示
Option Explicit
Public Function CSTMatch(Target1 As Range, Target2 As Range) As Boolean
CSTMatch = False
Dim String1 As String, String2 As String, i As Long
'The goal here is to assign the larger String to the variable String1
If Len(Target1) >= Len(Target2) Then
String1 = Target1
String2 = Target2
Else
String1 = Target2
String2 = Target1
End If
For i = 1 To Len(String1) - 4
If Mid(String1, i, 5) <> "00000" Then
If InStr(String2, Mid(String1, i, 5)) Then
CSTMatch = True
Exit Function
End If
End If
Next i
End Function
的输入/输出示例UDF
如下
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句