0

我在 Excel 中有两列:

      Column A
Row 1 Apple
Row 2 Blueberry
Row 3 Strawberry

      Column B
Row 1 App
Row 2 Application
Row 3 Appendage

我想使用 B 列来查看其中的任何单元格是否存在于 A 列的给定单元格中。到目前为止,我已经使用了VLOOKUPandMATCH函数,但似乎都无法正常工作,但MATCH似乎是我应该使用的一个。我尝试在 B 列上使用通配符,它​​返回一个值错误。这是我所拥有的:

=MATCH(A1,"*"&B:B&"*",0)

非常感谢您的帮助!

4

1 回答 1

1

有一个自然的 VBA 解决方案。在标准代码模块位置:

Function PartialMatch(v As Variant, R As Range) As Variant
    Dim i As Long
    For i = 1 To R.Cells.Count
        If v Like "*" & R.Cells(i).Value & "*" Then
            PartialMatch = i
            Exit Function
        End If
    Next i
    PartialMatch = CVErr(xlErrNA)
End Function

然后,您可以在电子表格中的任何位置使用公式:

=PartialMatch(A1,B:B)

#N/A如果存在或不存在,它将给出第一个部分匹配的索引。请注意,空白单元格算作部分匹配,因此您可能需要确保传递函数的范围不包含空格(因此不要传递整个列)。那,或者重新定义部分匹配的含义。

于 2016-06-15T14:45:01.210 回答