Microsoft Office Online
登录我的 Office Online (这是什么?) | 登录

 
 
Microsoft Office Excel
搜索
搜索
 
检查更新:(c) Microsoft
Office 下载
 
 
 
警告: 您在使用不受支持的 Web 浏览器查看此页。使用 Microsoft Internet Explorer 6.0 或更高版本、Firefox 1.5 或 Netscape Navigator 8.0 或更高版本查看此网站效果最好。 了解有关支持的浏览器的详细信息。

打印版打印版 书签和共享共享
LOOKUP
 

从单行或单列区域或者从一个数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)返回值。LOOKUP 函数具有两种语法形式:

  • 向量  LOOKUP 的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。

    当要查询的值列表较大或者值可能会随时间而改变时,使用该向量形式。

  • 数组  LOOKUP 的数组形式在数组的第一行或第一列中查找指定的值,然后返回数组的最后一行或最后一列中相同位置的值。

    当要查询的值列表较小或者值在一段时间内保持不变时,使用该数组形式。

 注释   对于详细的测试或七种以上条件的测试,还可以使用 LOOKUP 函数作为 IF 函数的替代函数。请参阅数组形式的示例。

显示 向量形式

向量是只含一行或一列的区域。LOOKUP 的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。当要指定的区域包含要匹配的值时,请使用 LOOKUP 函数的这种形式。LOOKUP 的另一种形式自动在第一行或第一列中查找。

LOOKUP(lookup_value,lookup_vector,result_vector)

Lookup_value  LOOKUP 在第一个向量中搜索的值。Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。

Lookup_vector  只包含一行或一列的区域。lookup_vector 中的值可以是文本、数字或逻辑值。

 要点   lookup_vector 中的值必须以升序顺序放置:...,-2, -1, 0, 1, 2, ...;A-Z;FALSE, TRUE。否则,LOOKUP 可能无法提供正确的值。大写文本和小写文本是等同的。

Result_vector  只包含一行或一列的区域。它必须与 lookup_vector 大小相同。

评论

  • 如果 LOOKUP 找不到 lookup_value,则它与 lookup_vector 中小于或等于 lookup_value 的最大值匹配。
  • 如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会提供 #N/A 错误值。

示例

如果将示例复制到一个空白工作表中,示例将更易于理解。

显示 方法

  1. 创建一个空白工作簿或工作表。
  2. 在“帮助”主题中选择示例。请不要选择行或列标题。

    从“帮助”中选择示例

    从“帮助”中选择示例
  3. 按 Ctrl+C。
  4. 在工作表中,选择单元格 A1,然后按 Ctrl+V。
  5. 要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或者在“工具”菜单上,指向“公式审核”,然后单击“公式审核模式”
 
1
2
3
4
5
6
A B
频率 颜色
4.14 红色
4.19 橙色
5.17 黄色
5.77 绿色
6.39 蓝色
公式 说明(结果)
=LOOKUP(4.19,A2:A6,B2:B6) 在列 A 中查找 4.19,然后返回列 B 中同一行内的值(橙色)
=LOOKUP(5.00,A2:A6,B2:B6) 在列 A 中查找 5.00,与接近它的最小值 (4.19) 匹配,然后返回列 B 中同一行内的值(橙色)
=LOOKUP(7.66,A2:A6,B2:B6) 在列 A 中查找 7.66,与接近它的最小值 (6.39) 匹配,然后返回列 B 中同一行内的值(蓝色)
=LOOKUP(0,A2:A6,B2:B6) 在列 A 中查找 0,并返回错误,因为 0 小于 lookup_vector A2:A7 中的最小值 (#N/A)

显示 数组形式

LOOKUP 的数组形式在数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)的第一行或第一列中查找指定的值,并返回数组最后一行或最后一列内同一位置的值。当要匹配的值位于数组的第一行或第一列中时,使用 LOOKUP 的这种形式。当要指定列或行的位置时,使用 LOOKUP 的另一种形式。

显示提示

一般而言,最好使用 HLOOKUP 或 VLOOKUP 函数而不是 LOOKUP 的数组形式。LOOKUP 的这种形式是为了与其他电子表格程序兼容而提供的。

LOOKUP(lookup_value,array)

Lookup_value  LOOKUP 在数组中搜索的值。Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。

  • 如果 LOOKUP 找不到 lookup_value,它会使用数组中小于或等于 lookup_value 的最大值。

  • 如果 lookup_value 小于第一行或第一列中的最小值(取决于数组维度),LOOKUP 会返回 #N/A 错误值。

数组  包含要与 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

如果将示例复制到一个空白工作表中,示例将更易于理解。

显示 方法

  1. 创建一个空白工作簿或工作表。
  2. 在“帮助”主题中选择示例。请不要选择行或列标题。

    从“帮助”中选择示例

    从“帮助”中选择示例
  3. 按 Ctrl+C。
  4. 在工作表中,选择单元格 A1,然后按 Ctrl+V。
  5. 要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或者在“工具”菜单上,指向“公式审核”,然后单击“公式审核模式”
 
1
A B
公式 说明(结果)
=LOOKUP("C",{"a","b","c","d";1,2,3,4}) 在数组的第一行中查找“C”,查找小于或等于它(“c”)的最大值,然后返回最后一行中同一列内的值 (3)
=LOOKUP("bump",{"a",1;"b",2;"c",3}) 在数组的第一行中查找“bump”,查找小于或等于它(“b”)的最大值,然后返回最后一列中同一行内的值 (2)

示例 2

如果将示例复制到一个空白工作表中,示例将更易于理解。

显示 方法

  1. 创建一个空白工作簿或工作表。
  2. 在“帮助”主题中选择示例。请不要选择行或列标题。

    从“帮助”中选择示例

    从“帮助”中选择示例
  3. 按 Ctrl+C。
  4. 在工作表中,选择单元格 A1,然后按 Ctrl+V。
  5. 要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或者在“工具”菜单上,指向“公式审核”,然后单击“公式审核模式”

下面的示例使用一个数字数组为测试分数指定字母等级。

 
1
2
3
4
A
分数
45
90
78
公式 说明(结果)
=LOOKUP(A2,{0,60,70,80,90},{"F","D","C","B","A"}) 在数组的第一行中的 A2 (45) 中查找值,查找小于或等于它 (0) 的最大值,然后返回数组最后一行中同一列内的值 (F)
=LOOKUP(A3,{0,60,70,80,90},{"F","D","C","B","A"}) 在数组的第一行中的 A3 (90) 中查找值,查找小于或等于它 (90) 的最大值,然后返回数组最后一行中同一列内的值 (A)
=LOOKUP(A4,{0,60,70,80,90},{"F","D","C","B","A"}) 在数组的第一行中的 A4 (78) 中查找值,查找小于或等于它 (80) 的最大值,然后返回数组最后一行中同一列内的值 (C)
=LOOKUP(A2,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) 在数组的第一行中的 A2 (45) 中查找值,查找小于或等于它 (60) 的最大值,然后返回数组最后一行中同一列内的值 (F)
=LOOKUP(A3,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) 在数组的第一行中的 A3 (90) 中查找值,查找小于或等于它 (90) 的最大值,然后返回最后一行中同一列内的值 (A-)
=LOOKUP(A4,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) 在数组的第一行中的 A4 (78) 中查找值,查找小于或等于它 (80) 的最大值,然后返回最后一行中同一列内的值 (C+)
广告