excel行列双条件匹配返回值

如图在D列匹配右边数据,不知公式错在哪?
我反复尝试了index公式,就是不好使,不知道问题出在哪里,刚才几位老师给的答案也不好使

在D2单元格输入以下公式之一,然后向下填充公式

=IFERROR(INDEX(J$4:AA$39,MATCH(A2,I$4:I$39,0),MATCH(B2,J$2:AA$2,0)),"")

=IFERROR(VLOOKUP(A2,I:AA,MATCH(B2,I$2:AA$2,0),0),"")

公式一表示:以J4:AA39作为查找引用区域,以A2在I4:I39中所处的行数,以B2在J2:AA2中所外的列数,交叉点即为目标数据;如果没有符合查找条件的,返回空值。

公式二表示:在I列精确匹配与A2相同的单元格,并返回对应以B2在I2:AA2中所对应列数的数据,如果没有符合查找条件的,返回空值。

 

详见附图

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-12
改为:
D2输入
=IFERROR(INDEX(J$3:AA$39,MATCH(A2,I$3:I$39,),MATCH(B2,J$2:AA$2,)),"")
回车并向下填充。

因你要引用的是数值,建议用乘积和函数:
D2输入
=SUMPRODUCT((I$3:I$39=A2)*(J$2:AA$2=B2)*J$3:AA$39)
回车并向下填充。追问

不好使

追答

我抓图给你看看吧:

=IFERROR(INDEX(J$3:AA$39,MATCH(A2,I$3:I$39,),MATCH(B2,J$2:AA$2,)),""):

【其中:匹配不到的(如1994)则返回空值(“”),也可改为0,即返回0值】

=SUMPRODUCT((I$3:I$39=A2)*(J$2:AA$2=B2)*J$3:AA$39):

本回答被提问者和网友采纳
第2个回答  2014-09-14

INDEX 第一个条件是错误的

INDEX(被提取的结果列,MATCH(要提取的,对应要提取的,0)

追问

所以呢

第3个回答  2014-09-14
D2公式:
=INDEX(J:AA,MATCH(A2,I:I,),MATCH(B2,J$2:AA$2,))
公式以CTRL+SHIFT+ENTER三键结束。追问

数组公式也不好用

追答

根据你第二个图看,公式出错原因是A列姓名中间有空格,而I列姓名没有空格,肯定找不到。
可以将公式中的A2改为:
SUBSTITUTE(a2," ",)