вы можете сделать так:
Function FuzzyvLookup(myRange As range, strLookup As String, lookupType)
' lookup type
' 1 first
' 2 mid
' 3 last
' 0 all
Dim a() As Long
myRow = 2
myCol = 2
ReDim a(myRow - 1, myCol - 1) As Long
a(0, 0) = 9
a(1, 0) = 6
a(0, 1) = 9
a(1, 1) = 6
Dim myVal
myVal = ""
For b = 1 To myRange.Rows.Count
If lookupType = 1 And myRange.Item(b, 1) Like strLookup & "*?" Then
myVal = myRange.Item(b, 2)
Exit For
End If
If lookupType = 2 And myRange.Item(b, 1) Like "?*" & strLookup & "*?" Then
myVal = myRange.Item(b, 2)
Exit For
End If
If lookupType = 3 And myRange.Item(b, 1) Like "?*" & strLookup Then
myVal = myRange.Item(b, 2)
Exit For
End If
If lookupType = 0 And myRange.Item(b, 1) Like "*" & strLookup & "*" Then
myVal = myRange.Item(b, 2)
Exit For
End If
Next b
FuzzyvLookup= myVal
End Function
в вашей ячейке можете проверить этот макрос:
Macro1(D16000:D16954, B2, 1)
примечание: 1 означает сначала (начинается с символа 1 строки)