分享

Excel一对多查询全能公式,index small if,让数据查询更高效

 Tcgood 2019-06-04

Excel说到数据一对多查询操作,之前我们有学过vlookup函数搭配辅助列的方式来进行操作。今天我们来学习一下Excel一对多查询的万金油公式,index+small+if函数嵌套的方式来进行快速查询。

一:案例演示

Excel一对多查询全能公式,index+small+if,让数据查询更高效

案例说明:如上图所示,我们需要根据对应的部门,然后查询数据区域中当前部门下面的所有人姓名。这就是一对多查询操作

函数公式:

=INDEX(B:B,SMALL(IF($D$1:$D$11=$G$5,ROW($D$1:$D$11),2^10),ROW(A1)))&''

二:函数解析

如上面函数所示,我们在这里一对多查询用到了index+small+if等函数嵌套方式来进行操作。下面我们就来详细的学习一下具体函数意思。

1、IF函数段$D$1:$D$11=$G$5,作用在于将符合条件的值,也就是在D列部门中查询到符合G5单元格部门的值,它返回的结果为True或者False的逻辑值。如下图所示:

Excel一对多查询全能公式,index+small+if,让数据查询更高效

2、IF函数段(公式一,row($C$1:$C$6),2^10),也就是当前面第一步当条件成立的时候,我们执行row($C$1:$C$6),不成立为False时执行2^10=1024。以此来将我们对应的值通过数值来显示。当结果为True时,返回当前值所在的行号,结果为False时,用最大值1024来显示。如下图所示:

Excel一对多查询全能公式,index+small+if,让数据查询更高效

3、SMALL($F$2:$F$11,ROW(A1))函数,就通过返回对应区域里面第1小、第2小、第3小、...等值。然后进行升序排序。如下图所示G1:G11区域:

Excel一对多查询全能公式,index+small+if,让数据查询更高效

4、最后index(B:B,small(if(row())))函数的方式,通过返回对应位置的一个值,从而选出对应的姓名。数值为1024的值因为数据源里面查询不多,所以结果会显示为0,我们通过最后连接“”的方式来取消。

现在你学会如何利用index+small+if函数嵌套的方式来进行数据查询操作了吗?


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多