我在Excel中有列表A和B,并希望将列表A中的所有项目与列表B中的所有记录进行比较,如果它们匹配或部分匹配,则返回第3列中的B值。希望在附件中得到证明。
答案 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 - 您要检查的区域范围。
要实现此结果,您无需将表格格式化为数据透视视图,在行中您将拥有项目和行区域 - 作为值,您可以检查每个组合的匹配。然而,在这个特定的例子中,我建议使用VBA。
希望它有所帮助。