查询函数我们使用最多的就是vlookup函数,它可以帮助我们快速查询返回我们所需的数据。但是如遇到上图时,需要查询A对应B列所有的数据用vlookup就显得力不从心了。因为vlookup只能返回所查询到的第一个对应的数据。
此时,我们可以利用多个函数组合的数组公式解决。在E2单元格输入如下数组公式:
=INDEX($B:$B,SMALL(IF($A$2:$A$11=$D2,ROW($A$2:$A$11),4^8),COLUMN(A1)))&""
输入后按Ctrl+Alt+Enter,完成数组公式。
利用small函数来定位所有A在第一列的位置,其中column(a1)用来显示第几个A。如拖动E2单元格填充柄往右填充公式,在E2时为column(a1)即1,第一个A;F2时为column(b1)即2,第二个A,以此类推。
得出第一个A时也就是E2单元格,small函数返回2,通过index返回B列第二个值为X。
第二个A,F2单元格,small函数返回3,通过index返回B列第二个值为Z。
第二个A,G2单元格,small函数返回10,通过index返回B列第二个值为Y。
在这个公式末尾,添加&"",为的是避免出现错误提示。增加数据阅读性。
转载于:https://blog.51cto.com/kirin/1393111