excel教程:如何查询符合条件的多个结果
我们对数据进行查询时,经常会利用VLOOKUP。 但如果我们查询的条件结果有很多个,而不是一个,这时VLOOKUP就很难实现了,比如下图:
这一组数据区域是一份员工产品销售表,想要根据查询产品“电脑”的销售员姓名。
VLOOKUP只能返回查询区域的首个匹配查询结果,但我们这里数据区域电脑的销售员有很多个,想要返回查找值的多个结果。就需要用到另外的方法, 今天所要学习的是:INDEX+SMALL
G2单元格输入这个数组公式: =IFERROR(INDEX(B:B,SMALL(IF($A$1:$A$13=$F$2,ROW($1:$13)),ROW(A1))),"")
公式讲解:
IF($A$1:$A$13=$F$2,ROW($1:$13)) 用if函数判断A1:A13区域的值是否等于F2,如果等于则返回A列产品对应的行号,如果不等于返回FALSE。 按F9结果得到一个内存数组:{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;7;FALSE;FALSE;10;FALSE;FALSE;FALSE},得出两个相等的行号,第7行和第10行。
SMALL函数对IF函数结果进行取数 ,公式向下填充,依次提取1,2,3……N个最小值,最后用INDEX根据SMALL函数提取的行号得出结果。
最后,当SMALL函数得到的结果为错误值时,表示符合条件的行号已被提取完,所以INDEX也会返回错误值,为了避免返回错误值,用IFERROR函数返回假空
结尾:为了方便查询各个产品的销售员,可以给F2单元格设置数据验证。
看到数学 函数巴拉巴拉,,我好晕