获取满足同一条件的多个数据

有时候,我们想要获取满足某条件的多个数据。如图1所示,301班和303班在的表中都有3个值,而我想在图2所示的表中获取这些值。

图1

图2

然而,VLOOKUP函数只能获取满足条件的第一个值。这种情形下,我们可以使用INDEX函数来完成,在单元格D2中输入数组公式:

=IFERROR(INDEX(Sheet2!$B$2:$B$10,SMALL(IF(Sheet2!$A$2:$A$10=$A2,ROW($A$2:$A$10)-ROW($A$2)+1),COUNTIF($A$2:A2,A2))),"")

下拉至单元格D7。

《写给儿童的中国历史》(全彩铜版14册)中国孩子历史启蒙首选书,连续六年当当童书榜历史类图书状元!加印30次,累销1800万本,读者好评760000+

作者:陈卫平著 步印童书 出品

当当

如果查找的条件不变,如图3所示,仅查找并获取303班的学生姓名,此时,可以在单元格D11中输入数组公式:

=IFERROR(INDEX(Sheet2!$B$2:$B$10,SMALL(IF(Sheet2!$A$2:$A$10=$A11,ROW($A$2:$A$10)-ROW($A$2)+1),ROWS($D$11:D11))),"")

往下拉至没有数据为止。

图3

Python算法教程

作者:[挪威]赫特兰(Magnus Lie Hetland)

当当

结合具体情形略微调整所查找的单元格区域和查找的值,上述两种情形使用的公式可通用:

=IFERROR(INDEX(查找数据的区域,SMALL(IF(查找的值区域=查找的值,顺序数),要获取第几个值)),"")

注意,这是一个数组公式,因此在输入完后要按Ctrl+Shift+Enter组合键。

(0)

相关推荐