在Excel中,谈到查找函数推荐最多的就是vlookup函数和index—match函数,很多人把两个函数作为判断Excel水平的重要指标,可想而知这两个函数在Excel数据计算中的重要性,本文就和大家一起来看看这两个函数的用法吧。
一:vlookup函数
说起vlookup函数,相信每个Excel的使用者对其至少略有耳闻,比起lookup、hlookup函数名气要大得多。因为vlookup函数符合我们的思维习惯,在日常查找中足够使用了。
vlookup函数有四个参数,函数公式=vlookup(查找依据,查找范围,查找依据在查找范围的列数,精确匹配或模糊匹配)。
在下图中,我们要在G2单元格查找夏侯惇的成绩,那么输入函数=VLOOKUP(H3,$B$1:$D$20,3,0)就可以了。
在这个函数中,第一个参数为F2,表示查找依据是“夏侯惇”,即我们要根据“夏侯惇”,来查找对应的成绩。
第二个参数为$B$1:$D$20,表示查找的区域为B1到D20单元格。此处不能选中A列的数据,因为夏侯惇所在的查找区域中B列是第一列,所以查找区域的选择要以B列为起点。这里对于B1:D20单元格选择后要按F4切换到绝对引用,这样我们向下拖动填充计算G3单元格的时候引用的查找区域就不会发生变化了。
第三个参数选择2,因为在选择的查找区域$B$1:$D$20中,成绩在姓名的第2列,如果要查找排名,那么第三个参数就是3,因为排名在查找区域中姓名的第3列。
第四个参数直接输入0,表示精确匹配,如果查找不到值,就会返回错误。
在G2、G3单元格输入公式后,向下拖动单元格填充公式就可以查找下面单元格的值了。
在上面的函数中,我们看到橙色和黄色区域中需要输入两个公式,这两个公式只有第3个参数有区别,那么我们可不可以只用一个函数解决呢?,其实在G2单元格输入函数=VLOOKUP($F2,$B$1:$D$20,MATCH(G$1,$B$1:$D$1,0),0),然后向右,向下拖动填充公式就可以了。
这里运用了vlookup函数和match函数嵌套。与上面的函数相比,看上去只有第3个参数由原来的数值变成match函数,但是要特别注意绝对引用与相对引用!
这里MATCH(G$1,$B$1:$D$1,0),表示查找G1在B1到D1单元格的位置,第3个参数为0表示精确匹配。所以此处G2单元格中match函数返回的结果为2。但是向右拖动时,函数就会变成MATCH(H$1,$B$1:$D$1,0),表示H1在B1到D1单元格的位置,返回结果为3。
二:index—match函数
相对于vlookup函数,index——match函数嵌套可以实现更多方式的查找。比如在反向查找,多条件查找中,利用vlookup函数查找就会比较复杂。而利用index—match函数进行查找就没有太大区别。
在下图中,根据排名查找姓名,即实现反向查找。输入函数公式为=INDEX($B$2:$B$20,MATCH(F2,$D$2:$D$20,0))就可以了。这个函数看上去很长,实际用熟练了感觉某种程度上会比vlookup函数还好用。
对于函数MATCH(F2,$D$2:$D$20,0),表示查找12位于D2到D20单元格第几行,按F4键固定D2:D20单元格也是为了向下拖动填充公式时引用的区域不会发生变化。第3个参数0表示精确匹配。返回的值是2,因为查找依据“12”在选择区域$D$2:$D$20的第2行。
index函数本来有3个参数,即=index(查找区域,行数,列数),因为我们选中B2:B20单元格只有一列数据,所以有第2个参数行数就可以了,第3个参数可以省略。表示返回B2:B20中第2行数据,即B2单元格的“关羽”。
上面已经提到index函数其实有3个参数,平时我们使用进行查找时往往只用2个参数就够了,但是使用3个参数可以在二维表格中进行查找。
如下图所示,如果要查找二维区域内第3行,第4列(D列)的值,那么可以输入函数=INDEX(A1:H9,MATCH(K10,$A$1:$H$1,0),MATCH(J11,$A$1:$A$9,0))就可以了。
这个函数只是在index函数里面嵌套了2个match函数,两个match函数分别返回查找值在区域的行数和列数(第3行和第4列),而index函数返回选中区域内行列定位的值(第3行和第4列交叉的值)。所以会返回“丝”字。
这就是本文介绍的Excel中vlookup函数和index—match函数的几种用法,如果有疑问,欢迎在评论区留言或者私信。