EXCEL小陌教你Excel职场菜鸟成长记

挖掘Vlookup函数那些不为大众所知的事之一

2017-11-04  本文已影响68人  Dawsondx

这一期我们来讲讲关于Excel中匹配的问题。提到匹配,相信很多人都知道Vlookup函数,没错,今天的主讲就是Vlookup函数了,不过这篇文章是要更加深入的挖掘这个函数。

我们从以下几个方面来深入挖掘:易错点、局限性、巧妙应用。

一、易错点

这里将我们平时用到Vlookup函数时容易错的点归纳如下:

1.要查找的数据列不在选中范围的第一列。

Vlookup函数要求查找的数值必须在选中查找范围的第一列才可以,而上图中查找的数值为编码,在E2:F21范围内的第二列,故查找不到,返回错误值#N/A。

2.查找的数据为数值型数字,而在选择的范围内这些数字为文本型数字。

这个很好理解,文本型数字与数值型数字是匹配不上的,故返回错误值#N/A。所以我们在进行匹配时一定要注意保持查找值和目标区域的数字格式一定要一致。

3.查找范围没有进行绝对引用,导致公式下拉填充时公式引用范围发生偏移。

上图没有加绝对引用,在B2单元格公式内的引用区域还是E2:F21,但是到了B6单元格,公式内的单元格引用就变成了E6:F25,而【10002】这个编号确实不在E6:F25范围内,所以会查找不到这个值。所以在这里我们就要注意绝对引用的使用了,在B2单元格输入公式时,选中范围后按F4键加上绝对引用就可以了,再下拉公式填充就不会出现错误。

4.查找数据或是查找范围内存在不可见字符。

有时我们导出、复制的数据中可能会存在各种各样的不可见字符,查找明明可以查得到,但一用Vlookup函数就匹配不到,用替换想把空格替换成空又替换不了,这时我们需要用到一个辅助神器:TRIM函数或者CLEAN函数,Excel帮助中是这么描述的:

我们就可以先用这些函数将数据清理规范再去用规范后的数据做匹配。

5.Vlookup函数第三个参数列数超出第二个参数所选区域最大列数。

注意啦,这里第三个参数指的是,我们需要返回的结果,在我们第二个参数设置的范围内的第几列,所以这个参数是不能超出第二个参数所选区域的最大列数的。

6.函数第四个参数设置错误。

第四个参数是设置精确匹配还是模糊匹配的,一般而言除了查找数值对应范围的结果都是需要精确匹配的,模糊匹配是在太不靠谱。

精确匹配是FALSE,或者是数字0

精确匹配是TRUE,或者是数字1

这两个不能弄混了。

二、局限性

其实局限性其一在易错点第一个小点就提到过了,那就是查找的数据必须要在所选范围内的第一列,如果在后面还需要手工将其复制一列到前面。

由于篇幅原因,另外的局限性这里暂时不提,留到下一篇我们讲LOOKUP函数时再提及做对比。

这里讲出Vlookup函数的第一个局限性的原因是,在这里顺便给大家介绍另外两个函数组合起来的公式,第一个函数是INDEX,第二个函数是MATCH。对于这两个函数进行组合就没有这样的要求了,不过,当然也有其缺点,就是略微麻烦点,毕竟是两个函数嵌套嘛。我们先来依次认识下这两个函数:

INDEX函数,三个参数,第一个参数是选中范围,第二个参数是行数,第二个参数是列数。连贯起来看看呢,返回指定范围的指定行的指定列的单元格数据。

MATCH函数,也是三个参数,第一个参数是被查找值,第二个参数是查找的范围,第三个参数是匹配类型(具体类别看下图)。不同于Vlookup函数的是,MATCH函数是返回的被查找值在查找范围的哪一行或者哪一列,是一个数字。那么很好理解,这里第二个参数只能是一行或者一列的范围,而不能是多行多列。第三个参数是匹配类型,各个数字代表含义如下图所示:

两个函数介绍完毕,那么来公布这俩函数的组合公式实现查找匹配吧:

=INDEX($E$2:$F$21,MATCH(A2,$F$2:$F$21,0),1)

这里有几个注意的地方,上图公式中,两个划横线的地方所代表的区域必须保持同行不能错位,不能前面的是1-21行,后面的是2-21行,这样匹配出来的结果就会错位。

这个公式的含义就是,用MATCH函数来找出所要的值在哪一行,再用INDEX引用函数来引用该范围内的该行、指定需要的结果列。这样就可以准确的查找出来我们所需要的结果啦!

这个公式虽然看似很复杂,不过理解了两个函数还是很容易写出来这个公式的,这个虽然比Vlookup函数复杂一点,但毕竟没有Vlookup函数选定区域的那么复杂的要求,处理起来更灵活一些。

由于篇幅问题,这篇先到这儿咯,关于开篇提到的Vlookup函数的第三点巧妙应用,看下篇文章:

挖掘Vlookup函数那些不为大众所知的事之二

上一篇下一篇

猜你喜欢

热点阅读