在excel中经常需要用到一对多查找,进而实现筛选功能。vlookup函数可以实现但公式很难理解。这时我们可以使用最常用的index+Small公式组合。
【例】如下图所示的客户消费明细表中,要求在E列根据E1的姓名,查找出所有该客户的消费金额。
E3公式:(数组公式,输入后按ctrl+shift+enter三键结束)
=IFERROR(INDEX(B:B,SMALL(IF(A$2:A$11=$E$1,ROW($2:$11)),ROW(A1))),"")
公式说明:
IF(A$2:A$11=$E$1,ROW($2:$11) 把所有客户名称和E1进行对比,如果相同则返回行号,否则值为FALSE。
Small(..,row(a1)) 随着公式的向下复制,逐个提取该客户所在的每一个行号数字
Index() 根据行号提取出B列的消费金额
IFERROR() 把公式产生错误值时修改为""(空白)
补充:一对多查找是一个典型的数组运算题目,同学们想在excel中实现复杂的数据计算和查找,就着手学习excel数组公式。