万金油公式:Index+Small+IF+Row

我们对数据进行查询时,经常会使用VLOOKUP函数。但有时,我们提取符合条件的结果是多个,而不是一个,这时候VLOOKUP就犯难了。举个例子如下图,左侧A1:C10是一份学员名单表,现在需要根据F1单元格的“EH图班”这个指定的条件,在F2:F10单元格区域中,提取该班级全部学员名单。

粟子示图

F1的值是“EH图表班”,需要在F2:F10单元格区域得到图表班相关成员的人名。接下来就分享一个函数查询方面的万金油套路:INDEX+SMALL+IF

=INDEX(查找区域,SMALL(IF(条件,ROW(结果区域),4^8),ROW(A1)))

此为数组公式,需要同时按Ctrl+Shift+回车键结束;另外,需要注意IF函数中的条件区域结果区域相匹配,即行数要相等,否则结果错误。

F2单元格输入以下数组公式,按住Ctrl+Shift键不放,再按回车键,然后向下填充:

=IFERROR(INDEX(B:B,SMALL(IF(A$1:A$10=F$1,ROW($1:$10)),ROW(A1))),"")
继续阅读“万金油公式:Index+Small+IF+Row”