文档介绍:玩转VLOOKUP 之 提取多个符合条件的结果
大名鼎鼎的VLOOKUP函数是表亲的好伙伴,遇到数据查询的时候,总离不开她。但是VLOOKUP函数也有一定的局限性,通常情况下,只能返回符合条件的单个结果,如果有多个符玩转VLOOKUP 之 提取多个符合条件的结果
大名鼎鼎的VLOOKUP函数是表亲的好伙伴,遇到数据查询的时候,总离不开她。但是VLOOKUP函数也有一定的局限性,通常情况下,只能返回符合条件的单个结果,如果有多个符合条件的结果,如何用VLOOKUP提取呢?先来看一段动画吧:
辅助列中用到的公式是:=COUNTIF(B$2:B2,F$1)提取结果的公式是:=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),'')
先简单说说辅助列中公式的意思。
用COUNTIF函数在B$2:B2这个区域内统计查询值(F1单元格)出现的次数。这个B$2:B2是有讲究的,第一个B2是行绝对引用,第二个B2是相对引用,这样公式在向下复制时,就依次变成了B$2:B3、B$2:B4、B$2:B5……。也就是随着公式向下复制,给COUNTIF函数指定一个逐行扩展的引用区域。COUNTIF函数能够统计B列从B2单元格开始,到公式所在行这个范围中,与查询值相同的个数。如果查询值在B列是第一次出现,结果就是1;如果是第二次出现,结果就是2……假如只有两个符合条件的结果,查询值出现之后的其他内容,结果仍然是2.
再来说说查询用到的公式:=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),'')
公式中的ROW(A1)部分,公式向下复制时,依次变为ROW(A2)、ROW(A3)……,结果得到1、2、3……