EXCEL进阶课堂 · 函数说 持续更新,这是第12篇教程。
欢迎各位小伙伴转发、点赞、讨论,更欢迎私信获取练习素材,刻意练习才能学有收获。
第12讲:如何轻松的实现数据逆向查找——match+index
01 问题引入
前面给大家介绍vlookup函数后,大家认识到了该函数的强大之处,同时也不发现了这个函数的不足之处。这不,小王今天就遇到了这样的问题:
在如图所示的下表中,要求按照身份证号查找姓名:
小王遇到这样的问题后,根据要求,他想到使用vlookup函数。正当他为自己的明智选择高兴的时候,他突然发现,这种方法不可行。
02 问题分析
1.为什么不可行?
因为vlookup函数的功能限制。在这个函数中,查找值必须是查找区域的第1列,而查找结果必须是在查找值的右侧。如图
如果按照这个原则,问题当中的身份证号码应该成为查找区域的第1列,这样的话姓名根本就不在查找区域,是无法实现查找的。
2.怎么解决?
进阶君将会介绍两种方法给大家。今天先介绍用match+index组合来实现的方法。这种方法理解起来很简单,基本不需要什么学习成本。
解决思路:
1.利用match函数,先确定输入的身份证号码在身份证号码数据列当中的位置,即所在行数。
2.利用index函数,以姓名列为查找区域,以上一步确定的行数为指定行数,以1为列数。
03 问题解决
解决办法中会用到函数的套用,为了降低学习难度,进阶君将其拆分成小步完成。
第一步:确定要查找身份证在身份证号码列当中所处的行数。
在G4单元格中输入公式=match(F4,C2:C9,0)
对于这个函数参数的作用遗忘的,请查看进阶君前面的教程:
第1讲 定位卫星——MATCH函数
操作过程及效果如下动图所示:
第二步:在姓名列中查找与身份证同行的单元格
为了表述方便,将上一步找的行数用X表示,于是我们来看这个公式=index(B2:B9,X,1),它起什么作用呢?
它的功能是,在B2:B9这个区域中,查找X行1列单元格,这里只有一列,所以得到就是相应的姓名。
对于这个函数参数的作用遗忘的,请查看进阶君前面的教程:
第2讲 坐标查找——INDEX函数
然后将公式套用在一起,就变成如下公式:
操作过程及效果如下动图所示:
04 总结思考
在这篇教程当中,我们利用match+index函数结合,实现了数据的逆向查询,再一次认识到了这两个函数的强大之处。
可是小王还不是很满意。
不是说好了用vlookup函数吗?怎么来影子都没有看到。进阶君将会在下一讲中,巧妙的利用内存数组,实现数据列的位置交换,从而只使用vlookup函数实现逆向数据查找。
为了方便小伙伴们学习,我们的将原始素材共享出来,获取素材的方法:
第一步:关注 Excel进阶课堂。
第二步:私信 Excel进阶课堂,因为设定的是自动回复,所以内容一定要准确
私信内容:练一练
第三步:根据得到信息打开网盘,找到 第12讲逆向查找 工作簿 自行下载。