查找并返回所有匹配的2列值

时间:2017-01-06 11:27:45

标签: excel lookup

我在Excel中有列表A和B,并希望将列表A中的所有项目与列表B中的所有记录进行比较,如果它们匹配或部分匹配,则返回第3列中的B值。希望在附件中得到证明。

example

1 个答案:

答案 0 :(得分:0)

实现它的最简单方法是使用VBA。请查看以下示例函数,您可以使用与Excel函数相同的方式:

Public Function findArea(item As String, areaRng As Range) As String
Dim i As Long
Dim ARR_area() As Variant

ARR_area = areaRng.Value2

For i = LBound(ARR_area) To UBound(ARR_area)
    If (item Like "*" & ARR_area(i, 1) & "*") Then
        findArea = ARR_area(i, 1)
        GoTo endFunc
    End If
Next i

endFunc:

End Function

其中: item - 您要检查的项目与区域 area - 您要检查的区域范围。

参见用法示例: enter image description here

要实现此结果,您无需将表格格式化为数据透视视图,在行中您将拥有项目和行区域 - 作为值,您可以检查每个组合的匹配。然而,在这个特定的例子中,我建议使用VBA。

希望它有所帮助。