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 错误值。
示例如果将示例复制到一个空白工作表中,可能会更容易理解该示例。
如何复制示例?1.选择本文中的示例。
要点不要选择行或列标题。
从“帮助”中选择示例2.按Ctrl+C。
3.在Excel 中,创建一个空白工作簿或工作表。
4.在工作表中,选择单元格A1,然后按Ctrl+V。
若要使该示例能够正常工作,必须将其粘贴到工作表的单元格A1 中。
5.要在查看结果和查看返回结果的公式之间进行切换,请按Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。
1 2 3 4 5 6 7 89 A B C频率颜色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 列中同一行内的值。
蓝色1011 =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函数数组形式语法具有以下参数: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如果将示例复制到一个空白工作表中,可能会更容易理解该示例。
如何复制示例?1.选择本文中的示例。
不要选择行或列标题。
从“帮助”中选择示例2.按Ctrl+C。
3.在Excel 中,创建一个空白工作簿或工作表。
4.在工作表中,选择单元格A1,然后按Ctrl+V。
若要使该示例能够正常工作,必须将其粘贴到工作表的单元格A1 中。
5.要在查看结果和查看返回结果的公式之间进行切换,请按Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。
1 2 3 A B C公式说明结果=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.按Ctrl+C。
3.在Excel 中,创建一个空白工作簿或工作表。
4.在工作表中,选择单元格A1,然后按Ctrl+V。
若要使该示例能够正常工作,必须将其粘贴到工作表的单元格A1 中。
5.要在查看结果和查看返回结果的公式之间进行切换,请按Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。
1 2 A B C 分数453 4 567891011 9078公式说明结果=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),查找小于或等于它的最大值(70),然后返回数组最后一行中同一列内的值。
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),查找小于或等于它的最大值(0),然后返回数组最后一行中同一列内的值。
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),查找小于或等于它的最大值(77),然后返回数组最后一行中同一列内的值。