首页 > 科技 >

Excel中"一对多查询"的又一个组合套路,无需借助辅助列!(3)

2019-03-13 00:06:55 网络整理 阅读:203 评论:0

我们来一步步分析这个公式的运行原理。 IF($A$1:$A$10=$G$2,ROW($1:$10))

这部分公式用来将A1:A10范围内的值与G2单元格的值进行逐个比对,如果相同,则返回A1:A10对应的行号(ROW函数的作用)。我们可以选中这部分公式,然后按下F9键查看最终结果。

{FALSE;2;3;FALSE;5;6;FALSE;FALSE;FALSE;FALSE}

发现返回的数组中只有2、3、5、6四个值,其它均为FALSE,也就是说在A1:A10范围的第2、3、5、6行找到了需要查找的数据!SMALL(IF($A$1:$A$10=$G$2,ROW($1:$10)),ROW(A1))

SMALL函数对上一步得到的数据结果进行取数,随着公式向下填充,,依次提取第1、2、3...n个最小值,这些数字对应的是符合条件班级的行号。比如我们选中H2单元格中的这部分公式,按F9显示查找结果{2},即得到了第一个匹配结果的行号为2。INDEX(B:B,SMALL(IF($A$1:$A$10=$G$2,ROW($1:$10)),ROW(A1)))

这一步,是用INDEX定位对应B列数据的位置(第2行),结果为B2。

最后的IFERROR函数是为了屏蔽多余行中的错误。因为,如果没有IFERROR函数,查询结果是这个样子的:

Excel中

图5总结

本文通过讨论了三种“一对多查询”的方法,带领大家进一步熟悉了几个函数组合在查询中的典型用法。我们不难看出三种方法各有优劣,在实际的工作实践中到底选择哪一种方法,要根据它们的特点,以及任务量大小等综合考量。

三种方法的优缺点对比:

1. VLOOKUP函数

优点:公式相对简单,容易理解。缺点:需要借助辅助列,并要求辅助列必须是查询范围的第1列。

2. INDEX+MATCH函数组合

优点:灵活多变,不用考虑辅助列顺序。缺点:需要借助辅助列,不太方便。

3. INDEX+SMALL+IF函数组合

优点:非常方便,不需要辅助列,一个公式就可以解决问题。缺点:公式相对复杂,不易理解。

相关文章