用MATCH函数自动计算得到的动态结果第N列,就可以作为VLOOKUP函数中的第3个参数,从而实现查找一个对象,返回多个结果的一对多查询。
在N2单元格输入公式:=VLOOKUP($M$2,$B:$E,MATCH(N$1,$B$1:$E$1,0),0)
再将公式复制到O2单元格。
三、从右向左逆向查找:INDEX函数
使用VLOOKUP查找匹配有一个前提条件,那就是查找对象需在匹配范围内的首列,否则无法找到结果。因此,我们在记录数据时,一般都是将标示该行记录独一无二的关键索引放在数据源的首列,如日期时间、序号、工号、编号、流水号等。这样我们要查找匹配数据就变得非常简单。
有的时候,一些数据表行列都是固定的,不允许更改次序,又该怎么办?这时就可以使用另外一个查找引用的函数INDEX来帮忙。
公式含义为:在给定的区域内,返回第几行第几列的值。
INDEX和MATCH函数刚好能够互补,用MATCH查找匹配可以得到位置信息作为行/列序。INDEX函数就可以将其作为参数,返回区域中交叉点的值。
在R2单元格输入公式:=INDEX(A:A,MATCH(Q2,B:B,0))
公式含义:先用MATCH函数查找基金名称[富国天惠成长混合],返回该基金在B列中的位置(第7行),MATCH所得的位置为7,然后INDEX函数将MATCH所得的结果作为[行序]参数,返回A列中第7行的值(161005)。由于INDEX区域参数只有一列,列序省略不填。