VLOOKUP函数有一个特点就是,就是当有多条记录满足查询条件时,默认值返回第一条记录。要想返回多条记录,需要借助辅助列。
首先在第一列之前新建一个辅助列,统计查询条件“7”班第几次出现。在A2单元格输入公式“=(B2=$J$3)+N(A1)”并向下复制。
然后在K3单元格用VLOOKUP函数进行查询,对应公式为
=IFERROR(VLOOKUP(ROW(A1),$A$2:$C$16,3,0),'')
输完公式之后,用鼠标向下拖动复制,直到出现空白为止。
这个公式也比较好理解。
IFERROR函数的作用是屏蔽错误值,当查询不到的时候显示为空白而非错误#NA.
VLOOKUP函数有一个特点,就是如果有多个满足查询条件的记录,默认值返回第一条记录。
所以,VLOOKUP函数的第一个参数并非是查询条件“7”,而是取得A1单元格对应的行号ROW(A1),在向下拖动的过程中会逐渐变成A2、A3、A4..对应的行号,即1、2、3、4...,即查询数字1、2、3、4等第一次出现的位置,它们对应的就是所有7班的记录。
VLOOKUP其他参数的用法和其普通查询并无二致。
其实如果不用辅助列的话也可以查询多个值,可以用如下所示的数组公式。
=IFERROR(INDEX($B$1:$B$16,SMALL(IF($A$1:$A$16=$I$3,ROW($A$1:$A$16)),ROW(A1))),'')
输完公式之后需要按Ctrl+Shift+Enter确定输入,因为这是一个数组公式。然后向下拖动复制,直到出现空白行为止。
关于此公式的详细解释大家可以参照作者主页置顶的一篇文章《一篇文章带你全面掌握Excel中的各种数据查询知识与技巧》。
联系客服