索引并匹配多个标准

问题描述

我正在尝试使用索引和匹配来查找两列何时与另外两列匹配,然后在同一行中返回另一列。例如,

enter image description here

如果是(Sheet1:ColA = Sheet2:ColA)和(Sheet1:ColB = Sheet2:Col B),则返回Sheet2:ColC。

这是我目前无法解决的问题:

= INDEX('Sheet2'!C:C,MATCH(1,('Sheet1'!A1 ='Sheet2'!A1:A4)*('Sheet1'!B1 ='Sheet2'!B1:B4), 0))

我想要在图像中突出显示的“ Wanted Col”值。

解决方法

您的公式似乎正确,但是它必须是一个数组公式。为了达成这个;通过公式栏编辑公式,然后按ctrl + shift + enter将其设置为数组公式。

它应该看起来像这样:

{=INDEX('Sheet2'!C:C,MATCH(1,('Sheet1'!A1='Sheet2'!A1:A4)*('Sheet1'!B1='Sheet2'!B1:B4),0))}

或者,您可以通过添加第二个索引来避免使用数组公式:

=INDEX(Sheet2!C:C;MATCH(1;INDEX((A1=Sheet2!A:A)*(B1=Sheet2!B:B);0;1);0))
,

如果您有Office365,则可以使用Filter()公式-

=FILTER(Shee2!$C$1:$C$4,(Shee2!$A$1:$A$4=A1)*(Shee2!$B$1:$B$4=B1))

或者,您可以同时使用INDEX()SUMPRODUCT()。尝试以下-

=INDEX(Sheet2!C:C,SUMPRODUCT(ROW(Sheet2!C:C)*(Sheet2!A:A=A2)*(Sheet2!B:B=B2)))

enter image description here