我有一个由多列组成的表,以及包含数据的行。我希望它根据乘法变量返回一个值。
标题是: 客户A,客户B,客户C,客户D,每个客户在两列中有两个选项,Opt1 Opt2,数据保存在下面的行(A3-A100)
我想写一个公式,它将根据3个选择的变量返回表中的值 - 例如行E,客户端B,选项2,返回相应单元格中的值
我尝试过使用INDEX Match,但它不起作用,想知道一个简单的VBA代码是否是更好的解决方案。
感谢您的期待。
答案 0 :(得分:1)
如果您的参考数组已正确排序,则可以在公式中执行此操作。
否则VBA功能确实是你最好的选择:
Function Match3(LookupZone As Range, _
Seek1 As Variant, Seek2 As Variant, Seek3 As Variant, _
RefCol1 As Long, RefCol2 As Long, RefCol3 As Long, _
ReturnCol As Long) _
As Variant
Dim ARow As Long
Match3 = CVErr(xlErrNA)
If RefCol1 > LookupZone.Columns.Count Then Exit Function
If RefCol2 > LookupZone.Columns.Count Then Exit Function
If RefCol3 > LookupZone.Columns.Count Then Exit Function
If ReturnCol > LookupZone.Columns.Count Then Exit Function
'
For ARow = 1 To LookupZone.Rows.Count
If LookupZone(ARow, RefCol1).Value = Seek1 _
And LookupZone(ARow, RefCol2).Value = Seek2 _
And LookupZone(ARow, RefCol3).Value = Seek3 _
Then
Match3 = LookupZone(ARow, ReturnCol).Value
Exit Function
End If
Next ARow
End Function
然后,您可以根据需要在电子表格中使用此功能。