今天给大家介绍一个在日常办公中使用率相对较高的,比较实用的函数——VLOOKUP。
这个函数是一个查找型函数,具体的使用场景是:在选中区域内,查找满足条件的某一单元格所在行中某列的数据。
上面的解释有点拗口,没关系,通过下面的示例和讲解,相信大家就能知道它是做什么用的,并能在以后的工作中很好的运用它。
我们先看下图的数据:
假设我们需要在上表中查找王刚是几班的,那这个时候就可以用到VLOOKUP函数了。具体用法如下:
=VLOOKUP(要查找的值,被查找的数据所在区域,需要返回的值所在的列数,是否精确查找)
可以看到这个函数共有4个参数,下面我们就一个个来解释(注意,参数之间是用英文的逗号隔开)。
第一个参数:要查找的值。在这个示例中,我们要找的是王刚所在的班级,所以要查找的值就是“王刚”。
这里有个注意点,在函数的参数中如果是直接输入内容的话,需要用英文输入法的引号将内容引起来,否则EXCEL是无法识别的。所以输入的内容就是:”王刚”,如图:
当然,如果王刚已经输入在某一单元格内的话,你可以直接引用该单元格,如图:
第二个参数:被查找的数据所在区域。本例中,我们要在A列中去查找王刚,然后想要得到的结果又处在B列,所以数据区域就是在A1和B9之间的一个长方形区域,可以写成A1:B9(中间用英文的冒号)。当然,如果第9行以下没有其他数据的话,可以直接写成A:B,意思就是在A和B的整列里查找。
补充一点:如果你需要下拉填充该公式的话,需要进行一个绝对引用,就是要加上$符号,最终输入的内容是$A$1:$B$9。这样不管这个公式在哪个单元格输入,都是去查找A1到B9之间的数据。
同理,如果想要得到的结果是在C列,虽然中间隔了B列,但我们还是需要写成A:C,把中间的所有列都包含在内。
考考大家,如果姓名在C列,想要的结果在F列,那又该如何输入呢?
下面是第三个参数:需要返回的值所在的列数。我们知道,本例中需要返回的值是班级,它在B列。注意,这个参数不是输入B列,而是输入B列在被查找的数据区域中是排在第几列。我们查找的数据区域是A列和B列,那么就从数据区域中的首列,即A列开始数,B列就是第2列。所以这里输入2。
同理,如果班级列在C列,那从A列开始数,C列是第3列,就输入3。大家思考下,如果姓名在B列,班级在E列,那又该输入几呢?
答案是4。因为从B列开始数,B、C、D、E,第4个就是E列。
下面介绍最后一个参数,胜利就在眼前啦,介绍完我们就可以用这个函数来实战啦。
最后一个参数:是否精确查找。是输入一个逻辑值(真或者假)。
当输入假(false或者0)时,代表精确匹配。意思就是会在A列里面去找和你第一个参数完全一致的内容,如果找不到则会报错。
如果输入真(TRUE或者1)时,则代表模糊匹配。意思是如果在A列里找不到和第一个参数完全一致的内容的话,就去找最接近第一个参数内容的上面一行。
需要注意的是:当模糊匹配时,被查找的数据所在区域需要以首列按升序排序哦。
好啦,参数介绍完了,我们下面来实战啦。
我们看下图的公式:
第一个参数是D1单元格,就是我们要找的“王刚”
第二个参数是查找范围,A1到B9,就是左边红色区域
第三个参数是2,就是代表我们要找的班级,在查找范围内是第2列
第四个参数输入了0,代表要精确查找。
最后我们按下回车看看结果是否正确
结果显示2班,完全正确。
下面再看看模糊查找的例子。
看上图,把第4个参数换成了1。由于A列中没有王大刚这个人,那么这个函数就会去找最接近王大刚的内容,结果是王刚。找到王刚后,根据规则,会取它上一行,就是刘涛所在行的班级信息,我们按下回车来核对下。
刘涛在3班,完全正确。
对于模糊查询,大家可能不怎么好理解。
我给大家通俗的解释下:由于A列是按升序排列的,在里面找不到王大刚,那么我们就把王大刚也放入A列中排序,根据排序规则(按中文拼音排序),王大刚应该排在刘涛和王刚中间,那么函数会取最接近王大刚的内容,就是上面的刘涛。
我们可以再求证一下,比如下例:
试着把王小五放到A列排序,它应该在哪呢?是在王五和张强之间,那么根据函数规则,就取王五的班级——也就是1班,我们来看看结果。
BINGO!
怎么样,通过以上的介绍,大家是不是已经掌握了VLOOKUP函数的用法啦。
不过这个函数有个缺陷,就是如果在A列里有同名同姓的人,也就是查找范围内有多个和你要找的内容一样的记录的话,它只会从上往下取第一条记录,见图:
它就只取了第一个李明的班级记录。
所以用该函数查找数据时,一般是查找具有唯一性的内容,比如身份证号,企业内的工号等等。