使用多个条件的Excel索引和匹配

时间:2018-07-26 21:25:57

标签: excel excel-formula formula excel-2016 excel-match

我觉得我一直在研究这个问题太久了,而我的公式中缺少明显的东西。

我有一个电子表格,看起来像这样: Source Spreadsheet

我需要将单元格A2和B2中的值与D列和F-I列中的值相匹配,并使用E列中的适当值填充单元格C2。

示例: A2中的用户0bddb97e被分配了B2中的REF 1102。用户0bddb97e在D2和D7中匹配,但REF#1102没有出现在第7行中。

结果应该是单元格C2填充了位置值 P1 ,因为A2和B2中的用户ID和REF的组合与D2中的用户ID和F2中的REF匹配-因此使用E1中的单元格值

Correct Output

不幸的是,我正在使用的两个INDEX / MATCH公式返回了#N / A和#VALUE错误

公式1:返回#N / A

=INDEX($E$2:$E$3,MATCH($A2,$D$2:$D$3,0),MATCH($B2,$F$2:$I$3,0))

Formula 1: Table Structure

公式2:返回#Value

=INDEX(E2:E3,MATCH(A2&B2,D2:D3&F2:I3,0))

Formula 2: Table Structure

我们非常感谢您的协助。

4 个答案:

答案 0 :(得分:2)

仅匹配项将查看一列或一行。您还需要其他东西。

=INDEX($E:$E,AGGREGATE(15,6,ROW($F$2:$I$8)/(($D$2:$D$8 = $A2)*($F$2:$I$8=$B2)),1))

enter image description here

答案 1 :(得分:1)

我可以想到一种解决方法,在该方法中,您可以使用“连接”功能连接列,然后使用简单的Vlookup来获取值。

答案 2 :(得分:0)

进行索引匹配匹配时,索引数组需要包含整个数据范围。而是尝试

=INDEX($D$2:$I$3,MATCH($A2,$D$2:$D$3,0),MATCH($B2,$F$2:$I$2,0))

第一个匹配项在D列中查找信息,第二个匹配项在第2行中查找。但是索引需要引用整个范围。

答案 3 :(得分:0)

输入为数组公式:

=INDEX($E$2:$E$8,MAX(($F$2:$I$8=B2)*($D$2:$D$8=A2)*(ROW($D$2:$D$8)-ROW($D$1))))