语法形式:lookup(lookup_value,lookup_vector,result_vector)lookup_value:LOOKUP在第一个向量中搜索的值。可以是数字、文本、逻辑值、名称或对值的引用;lookup_vector:只包含一行或一列的区域。可以是文本、数字或逻辑值;
result_vector:只包含一行或一列的区域,它必须与lookup_vector大小相同。提示:lookup_vector中的值必须以升序顺序放置,否则,函数可能无法提供正确的值。见图12.数组形式是在数组的第一行或第一列中查找指定数值,然后返回最后一行或最后一列中相同位置处的数值。
语法形式:lookup(lookup_value,array)lookup_value:表示在数组中所要查找的数值。array:为包含文本、数字或逻辑值的单元格区域,它的值用于与lookup_value进行比较。如图1所示,H3处的公式为:=lookup(h2,a2:b9);
h4处的公式为:=lookup(h2,a2:c9)。Vlookup用途:用于在表格或数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。VI设计语法形式:vlookup(lookup_value,table_array,col_index_num,range_lookup)lookup_value:为要在表格数组第1列中查找的数值;
table_array:为两列或多列数据。col_index_num:为table_array中待返回的匹配值的列序号。range_lookup:为逻辑值,指明函数VOOKUP查找时是精确匹配,还是近似匹配。
与前一例不同,上图右侧部分是根据员工编号所在列的代码,查找姓名列对应的姓名,两者是垂直的关系,因此应该使用VLOOKUP函数。
3语法:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
从语法上看,两者的参数完全一样,即:查找值,所在的行或列,行或列的第几个值,查找类型
注意这里的查找类型:有TRUE和FALSE2种
如果为TRUE或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值,table_array第一列中的值必须以升序排序;否则VLOOKUP可能无法返回正确的值。
如果为FALSE,VLOOKUP将只寻找精确匹配值。在此情况下,table_array第一列的值不需要排序。如果table_array 第一列中有两个或多个值与lookup_value匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值#N/A。
4=VLOOKUP(A12,A2:C10,2)
使用近似匹配搜索A列中的值1,在A列中找到小于等于1的最大值0.946,然后返回同一行中B列的值。(2.17)
=VLOOKUP(A13,A2:C10,3,TRUE)
使用近似匹配搜索A列中的值1,在A列中找到小于等于1的最大值0.946,然后返回同一行中C列的值。(100)
=VLOOKUP(A14,A2:C10,3,FALSE)
使用精确匹配在A列中搜索值0.7。因为A列中没有精确匹配的值,所以返回一个错误值。(#N/A)
=VLOOKUP(A15,A2:C10,2,TRUE)
使用近似匹配在A列中搜索值0.1。因为0.1小于A列中最小的值,所以返回一个错误值。(#N/A)
=VLOOKUP(A16,A2:C10,2,TRUE)
使用近似匹配搜索A列中的值2,在A列中找到小于等于2的最大值1.29,然后返回同一行中B列的值。(1.71)5 HLOOKUP函数的各项要求与VLOOKUP一致,因此可以类推。