前面其实我们有讲过几次VLOOKUP实现1对多查找,但是对于新手来说还是不够友好,所以今天我们出一期从0开始的教程,力求0基础也能学会!
我们需要根据销售员的不同,查找出对应的全部销售明细,有点类似于筛选!首先,我们要对VLOOKUP有一点点基本的了解,VLOOKUP只能返回满足条件的第一个对应的数据,不再往下查找,这点是事实,谁也无法改变!那我们想要使用VLOOKUP实现1对多,只有想办法把1对多,转成1对1即可!那么如果转换呢?最简单直接的办法,就是根据他出现的顺序,加上序号,比如从上往下,张三第一次出现,就是张三1,第二次就是张三2,依次类推!想要实现上面的需求,并不是什么难题,只需要使用COUNTIF计数即可!1、这里比较关键的应该就是引用方式的应用$B$2:B2,第一个是绝对引用($B$2),也就是固定不变了,第二个B2是相对引用,随着我们公式,下拉会逐渐增大,比如我们下拉到A3的时候,变成了$B$2:B3,对应的也就是我们可以计算的区域增加了,所以才能出现次数递增我们的查找值也同样需要加上序号,这样才可以对应查找到,这如果处理呢?为了让新手好理解,我们就直接手动输入1、2、3、4……后面再谈优化!结果上面的处理,我们的查找值就是姓名&序号!如果这个你也还不好理解,那么可以再增加一列辅助!现在你应该就会查找了吧,查找 张三1 ,数据源中的A列也有张三1,OK=IFERROR(VLOOKUP($B19,$A$1:$G$12,COLUMN(B1),),"")
当然,很多时候,我们希望自己做的表漂漂亮亮,不希望让别人看到这些辅助内容,我们可以直接隐藏掉,上面B列有数据的,可以往右挪动一下,选中A和B列 右击 -> 隐藏!上面都说完了,但是肯定有基础的同学就不耐烦了,就这……,我一个公式就搞定了,好吧!我们也写一下,如果你是新人,也可以朝着这个目标进发!当我们删除辅助列的情况下,那么这些辅助的数据都需要在公式中构建,也就是构建内存数据,这个需要你对数组有一定的了解或者有一定的功底!▼看上去有点有点复杂的=IFERROR(VLOOKUP(ROW(A1),IF({1,0},COUNTIF(OFFSET($A$1,1,,ROW($1:$11)),$B$16),OFFSET($A$2:$A$12,,MATCH(A$18,$A$1:$F$1,)-1)),2,),"")
标星后,我就会第一时间给您推送文章