在表格或数值数组的首列查找指定的数值,并由此返回表格或数组中该数值所在行中指定列处的数值。
这里所说的“数组”,可以理解为表格中的一个区域。数组的列序号:数组的“首列”,就是这个区域的第一纵列,此列右边依次为第2列、3列……。假定某数组区域为B2:E10,那么,B2:B10为第1列、C2:C10为第2列……。
整个计算机就相当于一门语言,首先我们就是要获取该函数的语法结构。以下是官网的语法结构:
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])。
小图表述就是VLOOKUP(查找值,查找范围,查找列数,精确匹配或者近似匹配)在此,小图告诉大家,在我们的工作中,几乎都使用精确匹配,该项的参数一定要选择为false。否则返回值会出乎你的意料。
vlookup就是竖直查找,即列查找。通俗的讲,根据查找值参数,在查找范围的第一列搜索查找值,找到该值后,则返回值为:以第一列为准,往后推数查找列数值的这一列所对应的值。这也是为什么该函数叫做vlookup(v为vertical-竖直之意,lookup即时英文的查找之意)
现有如下手机的每日销售毛数据(图左),A分销商需要提供四个型号的销售数据(图右)
这个时候,你大概可能回去一个一个人工查找,因为我所提供的数据数量很少,但是其实工作中这种数据很庞大的,人工查找无疑即浪费时间,而且不能让A分销商相信你所提供数据的准确性。 接下来,我们就需要本次的主角登场了。使用vlookup函数。
第一步:选中要输入数据的单元格,=VLOOKUP(H3,$A$3:$F$19,5,FALSE)如图
参数解释:H3为我们想查找的型号,即iphone5。为什么要写H3,而不是直接写iphone5,因为方便公式进行拖拽填充,以及保证准确性。
参数解释:$A$3:$F$19为我们需要在此范围内做查找,为什么要加上绝对引用呢,因为下面的ip4和剩余的查找都引用这个区域,即我们的数据源,加上了绝对引用后,就可以对公式进行直接的拖拽。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)参数解释:5 从我们的数据源第一列起,我们要查询的7/31号的销量在我引用的第一列(即型号列)后面的第五列。
注意这里的列数是从引用范围的第一列做为1,而不是以A列作为第一列,万万注意此处。
参数解释:false 书生在开始已经强调,我们再日常生活中,大部分都使用的是精确的匹配到我想要查询的值,千万不要使用true,使用true的结果就是给你带来意想不到的结果,我想你不会让你的上司意想不到的惊喜吧。老老实实的使用false作为精确匹配
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)然后回车后,我们遍可得到iphone5在7/30的销量。其他的只需要拖拽下即可获得完整的数据报告。如图,并且我们简单检验下,查看后各个值均相等。
我们都知道,如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。比方说,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,我就自动设定它的值等于0,那函数就可以写成这样:
=if(iserror(vlookup(1,2,3,0))=true,0,vlookup(1,2,3,0))
这句话的意思是这样的:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。
这里面又用了两个函数。
第一个是iserror函数。它的语法是iserror(value),即判断括号内的值是否为错误值,如果是,就等于true,不是,就等于false。
第二个是if函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行结果2。举个例子:=if(D2=””,”空的”,”有东西”),意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)
一般来说,含有VLOOKUP函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。
有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。
在工作表里,点击工具──选项──计算,把上面的更新远程参照和储存外部连结的勾去掉,再保存档案,则会加速不少,不信你可以试试。
下面详细的说一下它的原理。
1.含有VLOOKUP函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP函数一样可以抓取到数值。
2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部档案,好让你的VLOOKUP函数抓到最新的值。如果你有足够的耐心,不妨试试。
3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。