标题：VLOOKUP函数
简介
Excel中的一个纵向查找函数，它与LOOKUP函数和HLOOKUP函数属于一类函数，VLOOKUP是按列查找，最终返回该列所需查询列序所对应的值；与之对应的HLOOKUP是按行查找的。
使用说明
语法规则该函数的语法规则如下：
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 
参数
简单说明
输入数据类型
lookup_value
要查找的值
数值、引用或文本字符串
table_array
要查找的区域
数据表区域
col_index_num
返回数据在区域的第几列数
正整数
range_lookup
模糊匹配
TRUE（或不填） /FALSE
Lookup_value参数说明Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。Table_array参数说明Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。col_index_num参数说明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!。Range_lookup参数说明Range_lookup为一逻辑值，指明函数 VLOOKUP 查找时是精确匹配，还是近似匹配。如果为true或省略 ，则返回近似匹配值。也就是说，如果找不到精确匹配值，则返回小于 lookup_value 的最大数值。如果 range_lookup 为 false或0，函数 VLOOKUP 将查找精确匹配值，如果找不到，则返回错误值 #N/A。
使用举例
如图  vlookup函数示例所示，我们要在A2:F12区域中提取100003、100004、100005、100007、100010五人的全年总计销量，并对应的输入到I4:I8中。一个一个的手动查找在数据量大的时候十分繁琐，因此这里使用VLOOKUP函数演示：
首先在I4单元格输入“=Vlookup(”，此时Excel就会提示4个参数。
  Vlookup结果演示第一个参数，显然，我们要让100003对应的是I4，这里就输入“H4,” ；
第二个参数，这里输入我们要查找的区域(绝对引用)，即“$A$2:$F$12,”；
第三个参数，“全年总计”是区域的第六列，所以这里输入“6”，输入“5”就会输入第四季度的项目了；
第四个参数，因为我们要精确查找工号，所以输入“FALSE"、“0”。
最后补全最后的右括号“)”，得到公式“=VLOOKUP(H4,$A$2:$F$12,6,0)”，使用填充柄填充其他单元格即可完成查找操作。
VLOOKUP函数使用注意事项
一．VLOOKUP的语法 
VLOOKUP函数的完整语法是这样的： 
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 
1．括号里有四个参数，是必需的。最后一个参数range_lookup是个逻辑值，我们常常输入一个0字，或者False;其实也可以输入一个1字，或者true。两者有什么区别呢？前者表示的是完整寻找，找不到就传回错误值#N/A；后者先是找一模一样的，找不到再去找很接近的值，还找不到也只好传回错误值#N/A。 
2．Lookup_value是一个很重要的参数，它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时，有三点要特别提醒： 
A）参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致，否则的话有时明明看到有资料，就是抓不过来。特别是参照地址的值是数字时，最为明显，若搜寻的单元格格式类别为文字，虽然看起来都是123，但是就是抓不出东西来的。 
而且格式类别在未输入数据时就要先确定好，如果数据都输入进去了，发现格式不符，已为时已晚，若还想去抓，则需重新输入。 
B）在使用参照地址时，有时需要将lookup_value的值固定在一个格子内，而又要使用下拉方式（或复制）将函数添加到新的单元格中去，这里就要用到“$”这个符号了，这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据，则可以把D5弄成这样：$D$5，则不论你如何拉、复制，函数始终都会以D5的值来抓数据。 
C) 用“&" 连接若干个单元格的内容作为查找的参数。在查找的数据有类似的情况下可以做到事半功倍。
3．Table_array是搜寻的范围，col_index_num是范围内的栏数。Col_index_num　不能小于1，其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!，则可能是col_index_num的值超过范围的总字段数。 
4.在使用该函数时，lookup_value的值必须在table_array中处于第一列。
二．VLOOKUP的错误值处理。 
如果找不到数据，函数总会传回一个这样的错误值#N/A，这错误值其实也很有用的。例如，如果我们想这样来作处理：如果找到的话，就传回相应的值，如果找不到的话，就自动设定它的值等于0，则函数可以写成这样： 
=if(iserror(vlookup(1,2,3,0)),0,vlookup(1,2,3,0)) 
在Excel 2007以上版本中，以上公式等价于
=IFERROR(vlookup(1,2,3,0),0)
这句话的意思是：如果VLOOKUP函数返回的值是个错误值的话（找不到数据），就等于0，否则，就等于VLOOKUP函数返回的值（即找到的相应的值）。 
这里又用了两个函数。 
第一个是iserror函数。它的语法是iserror(value)，即判断括号内的值是否为错误值，如果是，就等于true，不是，就等于false。 
第二个是if函数，这也是一个常用的函数的，后面有机会再跟大家详细讲解。它的语法是if(条件判断式，结果1，结果2)。如果条件判断式是对的，就执行结果1，否则就执行结果2。举个例子：=if(D2=””,”空的”,”有东西”)，意思是如D2这个格子里是空的值，就显示文字“空的”，否则，就显示“有东西”。（看起来简单吧？其实编程序，也就是这样子判断来判断去的。） 
在Excel 2007以上版本中，可以使用iferror(value, value_if_error)代替以上两个函数的组合，该函数判断value表达式是否为错误值，如果是，则返回value_if_error，如果不是，则返回value表达式自身的值。
三．含有VLOOKUP函数的工作表档案的处理。 
一般来说，含有VLOOKUP函数的工作表，如果又是在别的档案里抓取数据的话，档案往往是比较大的。尤其是当你使用的档案本身就很大的时候，那每次开启和存盘都是很受伤的事情。 
有没有办法把文件压缩一下，加快开启和存盘的速度呢。这里提供一个小小的经验。 
在工作表里，点击工具──选项──计算，把上面的更新远程参照和储存外部连结的勾去掉，再保存档案，则会加速不少，不信你可以试试。 
下面详细的说一下它的原理。 
1．含有VLOOKUP函数的工作表，每次在保存档案时，会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时，VLOOKUP函数一样可以抓取到数值。 
2．在工作表打开时，微软会提示你，是否要更新远程参照。意思是说，你要不要连接最新的外部档案，好让你的VLOOKUP函数抓到最新的值。如果你有足够的耐心，不妨试试。 
3．了解到这点，我们应该知道，每次单独打开含有VLOOKUP函数的工作表时，里面抓取外部档案的数值，只是上次我们存盘时保存的值。若要连结最新的值，必须要把外部档案同时打开。