如果这些是我的查找值:
Red donkey
Blue donkey
Green sheep
Red sheep
这些是我的表数组中第一列的值:
donkey
sheep
如何让我的vlookup看到驴或羊在我的查找值?到目前为止我最好的尝试:
=IF(ISNUMBER(SEARCH(Sheet2!$E,K2)),vlookup(K2,Sheet2!$E$1:$F$5,2,FALSE),0)
答案 0 :(得分:0)
从一些疯狂的谷歌搜索中看不出有一个优雅的内置解决方案可以匹配范围(1:1单元格检查很容易)。
我已经编写了一个基本功能,您可以根据需要进行调整:
Public Function FuzzyMatch(ValueToFind As String, rng As Range)
Dim var As Variant
For Each var In rng
If InStr(1, StrConv(var.Value, vbUpperCase), StrConv(ValueToFind, vbUpperCase)) > 0 Then
FuzzyMatch = var.Address
Exit Function
End If
Next var
FuzzyMatch = "Not Found"
End Function
在这种情况下的用法是:
=FuzzyMatch(K2,Sheet2!$E$1:$F$5)
它当前返回单元格地址(例如,与间接使用),但您可以更改以下行:
FuzzyMatch = var.Address
到var.value,var.row,var.column等