用vlookup函数总是出现错误怎么用?


VLOOKUP函数可谓是一个非常非常重要、办公人士必须掌握的一个函数,其他函数你不会没关系,但是这个函数一定需要掌握!老王我之前写过一篇关于VLOOKUP函数的错误情况及其应对办法,有兴趣的可以点击下面链接传送到图文。
VLOOKUP老是匹配不出结果?可能你没看这篇文章
这个函数普通用法相比大家都知道,比如下面要查找老王的分数,就可以用VLOOKUP函数最基本的用法。
既然说它是非常重要的一个函数,那么肯定不止这么基础的一种用法。下面我们来看看这个函数能变出哪些花样来!
一、模糊匹配
了解VLOOKUP函数的朋友都知道,第四参数写1或者TURE的时候表示模糊匹配。在说模糊匹配之前,老王非常想纠正,或者想解释一下这里的模糊是什么意思?通常理解模糊的意思是大概,大致的意思,比如82大致等于80,或者“老王是个很逗的人”和“老王很逗”也大致差不多。这里都可以说模糊,但是很可惜,VLOOKUP里面第四参数模糊匹配的应用只适用于第一种情况。这里我们可以先看下函数参数说明。
我们看到,第四参数的英文是Range_lookup,直接翻译过来其实应该是范围匹配,也就是匹配范围的用法,1或者TURE表示肯定,即使用范围匹配。而所谓的范围,文本是没有范围一说,只有数字才有,所以解释了为什么只能做82大致等于80这种用法。
那么怎么运用呢,比如要匹配下面这个分数的等级。分数与等级对应规则是这样的。
这时就刚好是我们需要的范围匹配了,我们的函数是这样写的,注意匹配的分数我们不是写区间,而是写该区间的下限,而且是可以等于下限的。
多说一句,注意区间的最小值不能比分数的最小值还大哦!
二、部分匹配
这里的部分匹配其实和上例模糊匹配的第二种情况比较类似。比如下面这个例子,我们利用公司简称来匹配销售额,但是清单表里公司名称是全称,我们可以用“*C区*”这种形式来模糊查找C区的公司全称,还记得模糊查找用到的星号和问号么?
多说一句,简称应该和全称有一一对应的关系,不然也会出错的哦!
三、反向匹配
有时候我们的匹配列在右,而结果列在左,这个时候需要用IF函数结合构造数组将匹配列和结果列调换顺序。这里的构造方式是IF({1,0},匹配列,结果列),不妨花点时间理解一下。
理解了这个才能理解接下来的这些应用。当然这里不用三键结束也没关系。
多说一句,这里更通用的方法是INDEX MATCH形式,毕竟构造数组这种方法听起来就显得难度系数略高。
四、多条件匹配
有时候我们需要通过多列内容来确定匹配结果,比如下面这个,我们需要通过姓名和科目才能得到唯一的分数信息。这里我们用&连字符连接两个条件作为唯一的条件,然后用IF构造数组,可以得到多条件匹配的用法。
顺带说一句,这里的2个条件可以扩展至多个条件,如果再用连接的方法会显得公式很乱,我们建议用LOOKUP函数的匹配方法,具体方法可以参考下面这个文章。
给大家介绍下,这是查找大哥LOOKUP函数
五、第一参数使用数组
有时候我们需要匹配多个条件返回多个结果,比如下面匹配三个人的分数然后求平均分,这时候如果直接第一参数引用三个名字的话不能得到3个分数的数组,不信你可以试一试。我们需要通过T函数 IF函数的方法来构造数组,才能得到3个分数,然后外层做个平均得到三个人的平均。
多说一句,这里的T函数 IF函数属于高阶的函数应用,没兴趣的就当没看见。
六、第三参数使用数组
有时候我们需要通过通过一个条件匹配多列的结果,然后做某种操作。比如下面这个,我们需要求老王4次模拟的平均。我们首先需要匹配出4次模拟的分数,然后再求平均值。这里我们第三参数使用ROW函数来构造数组表示返回不同的列号,得到的结果是一个数组,对应的是老王4次模拟的分数,然后求平均即可。
这里并没有用到很复杂的内容,ROW函数构造数组也是一个非常常用的套路,大家可以试一试。
以上并不是VLOOKUP函数的所有用法,当然如果能熟练掌握以上的应用,那么关于匹配的问题差不多你都可以尝试用VLOOKUP函数解决了。

,

vlookup函数的使用方法
  “Lookup”的汉语意思是“查找”,在Excel中与“Lookup”相关的函数有三个:VLOOKUP、HLOOKUO和LOOKUP。下面介绍VLOOKUP函数的用法。Vlookup函数的作用为在表格的首列查找指定的数据,并返回指定的数据所在行中的指定列处的数据。其标准格式为:
  VLOOKUP(lookup_value,table_array,col_index_num , range_lookup)
  步骤1、VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)可以写为:
  VLOOKUP(需在第一列中查找的数据,需要在其中查找数据的数据表,需返回某列值的列号,逻辑值True或False)
  步骤2、Lookup_value为“需在数据表第一列中查找的数据”,可以是数值、文本字符串或引用。
  步骤3、Table_array 为“需要在其中查找数据的数据表”,可以使用单元格区域或区域名称等。
  ⑴如果 range_lookup 为 TRUE或省略,则 table_array 的第一列中的数值必须按升序排列,否则,函数 VLOOKUP 不能返回正确的数值。
  如果 range_lookup 为 FALSE,table_array 不必进行排序。
  ⑵Table_array 的第一列中的数值可以为文本、数字或逻辑值。若为文本时,不区分文本的大小写。
  步骤4、Col_index_num 为table_array 中待返回的匹配值的列序号。
  Col_index_num 为 1 时,返回 table_array 第一列中的数值;
  Col_index_num 为 2 时,返回 table_array 第二列中的数值,以此类推。
  如果Col_index_num 小于 1,函数 VLOOKUP 返回错误值 #VALUE!;
  如果Col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。
  步骤5、Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。
应用实例
  1、如下图,已知表sheet1中的数据如下,如何在数据表二 sheet2 中如下引用:当学号随机出现的时候,如何在B列显示其对应的物理成绩?
  2、根据问题的需求,这个公式应该是:
  =vlookup(a2,sheet1!$a$2:$f$100,6,true)
  3、结果如下图:
注意点:
  1、如果生成的结果显示为“#N/A”,说明没有找到匹配数值。
  2、此方法在“RRU挂高”这一列生成的值为通过公式计算得出的结果,无法直接引用。如果要引用可以复制这一列的数值粘贴到后面一列。不会操作的,可以参考下面步骤。
  步骤:复制“RRU挂高”列—新的粘贴位置点鼠标右键—选择“选择性粘贴”—选中“数值”—点“确定”。

我要回帖

更多关于 用vlookup函数总是出现错误 的文章

 

随机推荐