Excel查找引用函数:LOOKUP在向量或数组中查找值
说明LOOKUP 函数可从单行或单列区域或者从一个数组返回值。LOOKUP 函数具有两种语法形式:向量形式和数组形式。
如果需要
则参阅
用法
在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。
向量形式
当要查询的值列表较大或者值可能会随时间而改变时,使用该向量形式。
在数组的第一行或第一列中查找指定的值,然后返回数组的最后一行或最后一列中相同位置的值
数组形式
当要查询的值列表较小或者值在一段时间内保持不变时,使用该数组形式。
注释
对于详细的测试或超出函数嵌套限制的测试,还可以使用 LOOKUP 函数来代替 IF 函数。请参阅数组形式的示例。 为了使 LOOKUP 函数能够正常运行,必须按升序排列查询的数据。如果无法使用升序排列数据,请考虑使用 VLOOKUP、HLOOKUP 或 MATCH 函数。 向量形式向量是只含一行或一列的区域。LOOKUP 的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。当要指定包含要匹配的值的区域时,请使用 LOOKUP 函数的这种形式。LOOKUP 函数的另一种形式自动在第一行或第一列中查找。
语法LOOKUP(lookup_value,? lookup_vector,? [result_vector])
LOOKUP 函数向量形式语法具有以下参数:
lookup_value 必需。LOOKUP 在第一个向量中搜索的值。Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。 lookup_vector 必需。只包含一行或一列的区域。lookup_vector 中的值可以是文本、数字或逻辑值。要点 lookup_vector 中的值必须以升序排列:...,-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。否则,LOOKUP 可能无法返回正确的值。大写文本和小写文本是等同的。
result_vector 可选。只包含一行或一列的区域。result_vector 参数必须与 lookup_vector 大小相同。 说明 如果 LOOKUP 函数找不到 lookup_value,则它与 lookup_vector 中小于或等于 lookup_value 的最大值匹配。 如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会返回 #N/A 错误值。 示例
数组形式
LOOKUP 的数组形式在数组的第一行或第一列中查找指定的值,并返回数组最后一行或最后一列内同一位置的值。当要匹配的值位于数组的第一行或第一列中时,请使用 LOOKUP 的这种形式。当要指定列或行的位置时,请使用 LOOKUP 的另一种形式。
提示 一般而言,最好使用 HLOOKUP 或 VLOOKUP 函数而不是 LOOKUP 的数组形式。LOOKUP 的这种形式是为了与其他电子表格程序兼容而提供的。
LOOKUP(lookup_value, array)
LOOKUP 函数数组形式语法具有以下参数:
lookup_value 必需。LOOKUP 在数组中搜索的值。lookup_value 参数可以是数字、文本、逻辑值、名称或对值的引用。 如果 LOOKUP 找不到 lookup_value 的值,它会使用数组中小于或等于 lookup_value 的最大值。 如果 lookup_value 的值小于第一行或第一列中的最小值(取决于数组维度),LOOKUP 会返回 #N/A 错误值。 array 必需。包含要与 lookup_value 进行比较的文本、数字或逻辑值的单元格区域。LOOKUP 的数组形式与 HLOOKUP 和 VLOOKUP 函数非常相似。区别在于:HLOOKUP 在第一行中搜索 lookup_value 的值,VLOOKUP 在第一列中搜索,而 LOOKUP 根据数组维度进行搜索。
如果数组包含宽度比高度大的区域(列数多于行数),LOOKUP 会在第一行中搜索 lookup_value 的值。 如果数组是正方的或者高度大于宽度(行数多于列数),LOOKUP 会在第一列中进行搜索。 使用 HLOOKUP 和 VLOOKUP 函数,可以通过索引以向下或遍历的方式搜索,但是 LOOKUP 始终选择行或列中的最后一个值。要点 数组中的值必须以升序排列:...,-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。否则,LOOKUP 无法返回正确的值。大写文本和小写文本是等同的。
示例 示例 1 示例 2下面的示例使用一个数字数组为测试分数指定字母等级。