前面,成都办公软件培训的小编给大家介绍查询双胞胎:VLOOKUP函数和HLOOKUP函数,今天小编向大家介绍另一个
函数:lookup函数。lookup函数的功能是返回向量或数组中的数值。函数 LOOKUP 有两种语法形式:向量和数组。函
数LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置
的数值;函数 LOOKUP 的数组形式在数组的第一行或第一列查找指定的数值,然后返回数组的最后一行或最后一列中相
同位置的数值。
函数 LOOKUP 有两种语法形式:向量和数组。
向量形式:LOOKUP(lookup_value,lookup_vector,result_vector)
参数解释:
lookup_value:查找值。可以是数字、文本、逻辑值、名称或对值的引用。
lookup_vector:查找区域。只包含一行或一列的区域。lookup_vector 中的值可以是文本、数
字或逻辑值。lookup_vector 中的值必须以升序排列:...,-2, -1, 0, 1, 2, ..., A-Z,
FALSE, TRUE。否则,LOOKUP 可能无法返回正确的值。大写文本和小写文本是等同的。
result_vector:返回结果所在区域
小贴士:
1.lookup_vector中的值必须以升序排列:...,-2,-1,0,1,2,...,A-Z,FALSE,TRUE。否则,LOOKUP可能无法返回正确的值。
大写文本和小写文本是等同的。
2.如果LOOKUP函数找不到lookup_value,则它lookup_vector中小于或等于lookup_value的最大值匹配。
3.如果LOOKUP函数找不到lookup_value,则它与lookup_vector中小于或等于lookup_value的最大值匹配。
利用这个特性,如果lookup_vector中的值没有按升序进行排序,我们可以使用一种特殊的语法让LOOKUP函数查询结果
返回正确值:LOOKUP(1,0/(条件),返回结果所在区域)
原理解释:因为:条件——产生的是逻辑值True、False数组,0/True=0,0/false=#DIV0!,即Lookup的第2参数便是
由0、#DIV0!组成的数组(都比1小),所以这个公式能返回最后一个0出现的位置(倒回去:最后一个0就是最后一
个0/True,也就是最后一个满足条件的地方)。如果没有满足条件的记录则返回#N/A错误。
数组形式:
函数参数:LOOKUP(Lookup_value,array)
参数详解:
Lookup_value:是要查找的值,参数可以是数字、文本、逻辑值、名称或对值的引用。
如果 LOOKUP 找不到 lookup_value 的值,它会使用数组中小于或等于 lookup_value 的最大值
如果 lookup_value 的值小于第一行或第一列中的最小值(取决于数组维度),LOOKUP 会返回
#N/A 错误值。
array:是要查找的范围和返回值的范围,其中“:"前的是要查找的范围,“:”后的是返回值的
范围。注意是英文半角的冒号哦。
小贴士:
1.如果数组包含宽度比高度大的区域(列数多于行数),LOOKUP 会在第一行中搜索 lookup_value 的值。
2.如果数组是正方的或者高度大于宽度(行数多于列数),LOOKUP 会在第一列中进行搜索。
使用 HLOOKUP 和 VLOOKUP 函数,可以通过索引以向下或遍历的方式搜索,但是 LOOKUP 始终选择行或列中的最后
一个值。数组中的值必须以升序排列:...,-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。否则,LOOKUP 无法返回正确的值。大
写文本和小写文本是等同的。
函数实例1:已知产品物料编号、进价和售价等信息,现在需要将第一个表格的内容整理成第二个表格的内容:
函数实例2:多条件查找