关于VLOOKUP函数的用法 “Lookup”的汉语意思是“查找”,在Excel中与“Lookup”相关的函数有三个:VLOOKUP、HLOOKUO和LOOKUP。下面介绍VLOOKUP函数的用法。 一、功能 二、语法 解释: VLOOKUP(‘你要检索的内容或指定单元格’,‘你要检索的范围,检索到内容时返回你检索表的第几列中的内容’, ‘真或假参数真代表查询的表已经排序,假代表没有排序’) 例:VLOOKUP(A2,Sheet2!$A1:$B10,2,FALSE) 说明:在表SHEET2中检索当前表中A2中的内容,如果检索到,就返回表SHEET2中B2中的内容,因为B2是表SHEET2中的第二列,所以VLOOKUP的第三个参数,使用2,表示如果满足条件,就返回查询表的第二列,最后的参数FALSE表示‘假’,意思是被查询的表,没有排序,这种情况下,会从被查询的表中第一行开始,一直查询到结束。 三、语法解释 四、应用例子 A列已排序(第四个参数缺省或用TRUE) 若A列没有排序,要得出正确的结果,第四个参数必须用FALAE 五、关于TRUE和FALSE的应用 笔者觉得,若要精确查找数据,由于计算机运算速度很快,可省略排序操作,直接用第四个参数用FALSE即可。 VLOOKUP VLOOKUP 中的 V 表示垂直方向。当比较值位于需要查找的数据左边的一列时,可以使用 VLOOKUP,而不用 HLOOKUP。 语法 Lookup_value 为需要在表格数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)第一列中查找的数值。Lookup_value 可以为数值或引用。若 lookup_value 小于 table_array 第一列中的最小值,VLOOKUP 将返回错误值 #N/A。 Table_array 为两列或多列数据。请使用对区域的引用或区域名称。table_array 第一列中的值是由 lookup_value 搜索的值。这些值可以是文本、数字或逻辑值。不区分大小写。 Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num : 小于 1,VLOOKUP 返回错误值 #VALUE!。 如果为 TRUE 或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。 如果为 FALSE,VLOOKUP 将只寻找精确匹配值。在此情况下,table_array 第一列的值不需要排序。如果 table_array 第一列中有两个或多个值与 lookup_value 匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。
=IF(ISNA(VLOOKUP(15,A3:E8,2,FALSE)) = TRUE, "未找到员工", VLOOKUP(15,A3:E8,2,FALSE)) 如果有 ID 为 15 的员工,则显示该员工的姓氏;否则,显示消息“未找到员工”。(未找到员工) =VLOOKUP(4,A2:E7,3,FALSE) & " " & VLOOKUP(4,A2:E7,2,FALSE) & "是" & VLOOKUP(4,A2:E7,4,FALSE) & "。" 对于 ID 为 4 的员工,将三个单元格的值连接为一个完整的句子。(潘金是销售代表。)
操作方法 在“工具”菜单上,单击“加载宏”。 |
笔者觉得,若要精确查找数据,由于计算机运算速度很快,可省略排序操作,直接用第四个参数用FALSE即可。
转 VLookup 使用
2007-03-24 20:23
最近爱上了VLOOKUP,有人还对它进行了更新。因为它的漏洞就是只能返回重复值得第一个值。下面就详细来叙述一下吧!
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value 为需要在Table_array第一列中查找的数值。
可以为数值、引用或文本字符串。需要注意的是类型必须与table_array第一列的类型一致。
查找文本时,文本不区分大小写;可以使用通配符“*”、“?”。
Table_array 为需要在其中查找数据的数据表。
可以使用对区域或区域名称的引用、常数数组、计算后的内存数组。
对区域引用时,可以引用整列,excel会自动判断使用区域。
该参数的第一列必须包含查找的内容,其它列包含需返回的内容;返回内容的列序号由下个参数指定。
Col_index_num 为table_array中待返回的匹配值的列序号。
如为1时,返回table_array第一列中的数值;为2,返回table_array第二列中的数值,以此类推。
如果col_index_num小于1,函数 VLOOKUP 返回错误值值 #VALUE!;
如果col_index_num大于table_array的列数,函数 VLOOKUP 返回错误值 #REF!。
Range_lookup 为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配。
如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;
近似匹配查询一般用于数值的查询,table_array的第一列必须按升序排列;否则不能返回正确的结果。
如果range_value为FALSE(或0),函数VLOOKUP将返回精确匹配值。
此时,table_array不必进行排序。如果找不到,则返回错误值#N/A;可isna检测错误后使用if判断去除错误信息。
=====================================================================
VLOOKUP 经常会出现错误的#N/A,下面是几种可能性:
数据有空格或者数据类型不一致。
可以在lookup_value 前用TRIM()将空格去除。
如果格式不一致,可以将数值强制转换成文本,lookup_value之后用&跟""表示的空字符串。
将文本转换成数值,lookup_value*1进行运算。
=====================================================================
平时在处理一些Excel文件中的数据的时候,总要从中搜索出自己需要的结果,所以VLOOKUP这个函数的使用频率就非常高。因为大家对这个函数的使用也经常问到,这里我就自己的使用经验再谈谈VLOOKUP,需要特别注意的就是两点。
VLOOKUP一共有4个参数:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
第一个:lookup_value 你要查找的值;
第二个:table_array 在表中要查找的范围,特别要注意的是在该范围中第一列的值必须是你要查找的值所在列;
第三个:col_index_num 要返回的值所在范围的列,1表示table_array的第一列,2表示第二列;
第四个:range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。特别注意的是,该值如果是TRUE,则你要搜索的范围,即table_array,它的第一列的值必须是已经经过升序排列过了的。
注意到上面用“红底”标出的的地方使用该函数一般都不会存在什么问题了。
例如:=VLOOKUP(C100,G:H,2,FALSE),在该单元格公式中几个参数的意思是,C100是C100单元格的数值,即我们要搜索的数值,G:H是我们的查找范围,也就是G列到H列的范围,2表示如果在范围中找到我们要找的值,也就是C100中的值,那么我们就返回在查找范围中同行的第2列数值。