在多列中引用多个单元格,并在满足条件的情况下返回“text1”或“blank”

在这里输入图像说明

在这个例子中,目标是在Field1,Field2和Field3中有三个单独的下拉字段。 这些字段中的每一个都将引用电子表格右下angular的数据,即Field1中的abc,def,geh或fij。 目标是让Field4(D1)引用用户从下拉字段A2,B2和C2中select的数据,并返回D2单元格中Field4(L18-L22)的引用文本。

在这种情况下,我已经使用IF公式实现了这个结果,但是我想知道是否有更简单的语法来实现这个结果。

你可以使用这个数组公式:

=IFERROR(INDEX($L$19:$L$22,MATCH(1,IF(($I$19:$I$22 = A2)*($J$19:$J$22 = B2)*($K$19:$K$22 = C2),1,0),0)),"") 

这是一个数组公式,并且必须用Ctrl-Shift-Enter确认。 放入D2并用Ctrl-Shift-Enter确认。 然后复制所需的行。

在这里输入图像说明

使用AGGREGATE函数进行快速三列匹配。

在D2中,

 =IFERROR(INDEX(L$19:L$22, AGGREGATE(15, 6, ROW($1:$4)/((I$19:I$22=A2)*(J$19:J$22=B2)*(K$19:K$22=C2)), 1)), "") 

根据需要填写。 IFERRORfunction负责不匹配。

aggregate_three_column_match