用index+match替代vlookup
在数据的查定位与提取函数中,vlookup无疑是首屈一指的!就像上一篇文章中所提到的,有些人所熟悉应用的仅有的五个EXCEL函数中vlookup总是占有一席之地的。但是,强大之余,vlookup还是有它自身的局限性的。当查询量太大时查询效率下降导致反应迟缓甚至崩溃。它不能够实现从右往左查(其实也有迂回的办法),不能够实现双向定位查询等等。而另外一对函数index+match的组合不但能够同样实现vlookup的基本功能,而且还能够规避上述vlookup的问题,拓展实现vlookup不能实现的功能。下面我们就一起来看一下index+match组合的基本使用方法。
首先假设我们有如下的数据:
为了简化函数的参数输入,我们首先把整个数据区域命名为“表一”,把第一行字段标题命名为“标题”,把最左列姓名命名为“姓名”。(有关EXEL中如何进行名称定义,请大家翻阅我以前的文章或自行百度)。
接下来我们要查并提取以下这几个人的考核成绩:
Index的参数为(提取目标列,目标列中的第几行的值)。括号中的第二个参数“目标列中第几行的值”则有match函数来完成。match函数的参数为(要匹配的值,被匹配的目标区域,是否精确匹配)。因此,如果我们要查提取“张无忌”的“QA”成绩,首选用index选择提取目标列—I列,并锁行不锁列(以便往右拖拽填充),然后用match函数去精确匹配A34的“张无忌”在“姓名”中的位置,并同样对A34锁列不锁行(以便往下拖拽填充)。Match会返回A34“张无忌”在“姓名”中的位置2,而index则最终在I列中取出位于第2位的值,既“张无忌”的“QA”成绩。
最后我们只需往右和下拖拽填充,就提取出了这7个人的所有四项绩效成绩。
这个地方需要注意两点:①如何往左查 ②如果要取出的四项绩效成绩在原始数据表中不是连在一起的怎么办。对于第一个问题,我们只需掌握match的用法,至于index要提取的数据在match数据的左边还是右边都是没关系的,只需接收match返回的定位信息把数据提取就可以了。对于第二个问题,我们要介绍index+match的第二种用法了。
Index+match的第二种用法为(查提取区域,match(行定位),match(列定位))。
我们还是用上面的数据来做演示:
在上面的数据中,我们首先输入第一个参数,即我们要查提取的原始数据区域“表一”,然后第一个match函数在“姓名”列中给出了“张无忌”的行定位2,第二个match函数在“标题”行中给出了“QA”成绩的列定位9,最终index函数提取出了“表一”中第2行第9列的值,即“张无忌”的“QA”成绩。
然后我们拖拽填充,就提取出了所有人的四项成绩的值。在这种用法中,无论四项指标在原始数据中是不是挨在一起的都没关系,第二个match会成功定位到他们各自的列序。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论