VLOOKUP函数:是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用。VLOOKUP是按列查找,最终返回该列所需查询列序所对应的值;与之对应的HLOOKUP是按行查找的。
函数的语法如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数说明:
Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。
Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
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为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为false或0 ,则返回精确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果range_lookup 省略,则默认为近似匹配。
你这样做的目的是什么,必须要用hlookup吗,这个函数要求查找第一行,然后返第一行匹配的那一列的某行的值。即,查找行不能有重复。
你把你这样做的目的说来听听,看有没有其他的实现方法。
那你看下排序行不,只要把你需要的数据集中到一起你不是就可以直接选出来了吗?
数据/排序/选项/排序方式:按行排序(L).确定.主要关键字选第5行.
VLOOKUP是一个查找函数,给定一个查找的目标,它就能从指定的查找区域中查找返回想要查找到的值。它的基本语法为:
VLOOKUP(查找目标,查找范围,返回值的列数,精确OR模糊查找)
下面以一个实例来介绍一下这四个参数的使用
例1:如下图所示,要求根据表二中的姓名,查找姓名所对应的年龄。
公式:B13 =VLOOKUP(A13,$B$2:$D$8,3,0)
参数说明:
1 查找目标:就是你指定的查找的内容或单元格引用。本例中表二A列的姓名就是查找目标。要根据表二的“姓名”在表一中A列进行查找。
公式:B13 =VLOOKUP(A13,$B$2:$D$8,3,0)
2 查找范围(VLOOKUP(A13,$B$2:$D$8,3,0) ):指定了查找目标,如果没有说从哪里查找,EXCEL肯定会很为难。所以下一步就要指定从哪个范围中进行查找。VLOOKUP的这第二个参数可以从一个单元格区域中查找,也可以从一个常量数组或内存数组中查找。本例中要从表一中进行查找,那么范围要怎么指定呢?这里也是极易出错的地方。大家一定要注意,给定的第二个参数查找范围要符合以下条件才不会出错:
A 查找目标一定要在该区域的第一列。本例中查找表二的姓名,那么姓名所对应的表一的姓名列,那么表一的姓名列(列)一定要是查找区域的第一列。象本例中,给定的区域要从第二列开始,即$B$2:$D$8,而不能是$A$2:$D$8。因为查找的“姓名”不在$A$2:$D$8区域的第一列。
B 该区域中一定要包含要返回值所在的列,本例中要返回的值是年龄。年龄列(表一的D列)一定要包括在这个范围内,即:$B$2:$D$8,如果写成$B$2:$C$8就是错的。
3 返回值的列数(B13 =VLOOKUP(A13,$B$2:$D$8,3,0))。这是VLOOKUP第3个参数。它是一个整数值。它怎么得来的呢。它是“返回值”在第二个参数给定的区域中的列数。本例中要返回的是“年龄”,它是第二个参数查找范围$B$2:$D$8的第3列。这里一定要注意,列数不是在工作表中的列数(不是第4列),而是在查找范围区域的第几列。如果本例中要是查找姓名所对应的性别,第3个参数的值应该设置为多少呢。答案是2。因为性别在$B$2:$D$8的第2列中。
用途:在表格或数值数组的首行查找指定的数值,并由此返回表格或数组当前列中指定行处的数值。
语法:HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
参数:Lookup_value是需要在数据表第一行中查找的数值,它可以是数值、引用或文字串;Table_array是需要在其中查找数据的数据表,可以使用对区域或区域名称的引用,Table_array的第一行的数值可以是文本、数字或逻辑值。Row_index_num为table_array中待返回的匹配值的行序号。Range_lookup为一逻辑值,指明函数HLOOKUP查找时是精确匹配,还是近似匹配。
实例:如果A1:B3区域存放的数据为34、23、68、69、92、36,则公式“=HLOOKUP(34,A1:B3,1,FALSE)返回34;=HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE)返回“c”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)