使用Excel根据3个variables返回一个值

我有一个由多个列和包含数据的行组成的表。 我想要它返回一个基于乘法variables的值。

标题是:客户端A,客户端B,客户端C,客户端D,每个客户端在列之间有两个选项:Opt1 Opt2,数据保存在(A3-A100)

我想写一个公式,它会根据3个选定的variables返回表中的值 – 例如,E行,客户端B,选项2,返回相应单元格中的值

我曾尝试使用INDEX匹配,但它不工作,并想知道如果一个简单的VBA代码将是一个更好的解决scheme。

感谢预期。

如果您的引用数组被适当地sorting,那么在公式中这样做可能会很麻烦。

否则VBAfunction确实可能是你最好的select:

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 

然后,您可以根据需要在电子表格中使用此function。