Excel说到数据一对多查询操作,之前我们有学过vlookup函数搭配辅助列的方式来进行操作。今天我们来学习一下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的逻辑值。如下图所示: 2、IF函数段(公式一,row($C$1:$C$6),2^10),也就是当前面第一步当条件成立的时候,我们执行row($C$1:$C$6),不成立为False时执行2^10=1024。以此来将我们对应的值通过数值来显示。当结果为True时,返回当前值所在的行号,结果为False时,用最大值1024来显示。如下图所示: 3、SMALL($F$2:$F$11,ROW(A1))函数,就通过返回对应区域里面第1小、第2小、第3小、...等值。然后进行升序排序。如下图所示G1:G11区域: 4、最后index(B:B,small(if(row())))函数的方式,通过返回对应位置的一个值,从而选出对应的姓名。数值为1024的值因为数据源里面查询不多,所以结果会显示为0,我们通过最后连接“”的方式来取消。 现在你学会如何利用index+small+if函数嵌套的方式来进行数据查询操作了吗? |
|