CHOOSE
全部显示
全部隐藏
可以使用 index_num 返回数值参数列表中的数值。使用函数 CHOOSE 可以基于索引号返回多达 29 个基于 index number 待选数值中的任一数值。例如,如果数值 1 7 表示一个星期的 7 天,当用 1 7 之间的数字作 index_num 时,函数 CHOOSE 返回其中的某一天。
语法
CHOOSE(index_num,value1,value2,...)
Index_num    用以指明待选参数序号的参数值。Index_num 必须为 1 29 之间的数字、或者是包含数字 1 29 的公式或单元格引用。
如果 index_num 1,函数 CHOOSE 返回 value1;如果为 2,函数 CHOOSE 返回 value2,以此类推。
如果 index_num 小于 1 或大于列表中最后一个值的序号,函数 CHOOSE 返回错误值 #VALUE!
如果 index_num 为小数,则在使用前将被截尾取整。
Value1,value2,...    1 29 个数值参数,函数 CHOOSE 基于 index_num,从中选择一个数值或执行相应的操作。参数可以为数字、单元格引用、已定义的名称、公式、函数或文本。
说明
如果 index_num 为一个数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。),则在函数 CHOOSE 计算时,每一个值都将计算。
函数 CHOOSE 的数值参数不仅可以为单个数值,也可以为区域引用。
例如,下面的公式:
=SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10))
相当于:
=SUM(B1:B10)
然后基于区域 B1:B10 中的数值返回值。
函数 CHOOSE 先被计算,返回引用 B1:B10。然后函数 SUM B1:B10 进行求和计算。即函数 CHOOSE 的结果是函数 SUM 的参数。
示例 1
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
1. 创建空白工作簿或工作表。
2. 请在帮助主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
3. Ctrl+C
4. 在工作表中,选中单元格 A1,再按 Ctrl+V
5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式
 
1
2
3
4
5
A
B
数据
数据
1st
Nails
2nd
Screws
3rd
Nuts
完成
Bolts
公式
说明(结果)
=CHOOSE(2,A2,A3,A4,A5)
第二个参数 A3 的值 (2nd)
=CHOOSE(4,B2,B3,B4,B5)
第四个参数 B5 的值 (Bolts)
示例 2
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
1. 创建空白工作簿或工作表。
2. 请在帮助主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
3. Ctrl+C
4. 在工作表中,选中单元格 A1,再按 Ctrl+V
5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式
 
1
2
3
4
5
A
数据
23
45
12
10
公式
说明(结果)
=SUM(A2:CHOOSE(2,A3,A4,A5))
单元格区域 A2:A4 中所有数值的和 (80)
 
HLOOKUP
全部显示
全部隐藏
在表格或数值数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)的首行查指定的数值,并由此返回表格或数组当前列中指定行处的数值。当比较值位于数据表的首行,并且要查下面给定行中的数据时,请使用函数 HLOOKUP。当比较值位于要查的数据左边的一列时,请使用函数 VLOOKUP
HLOOKUP 中的 H 代表
语法
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
Lookup_value    为需要在数据表第一行中进行查的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array    为需要在其中查数据的数据表。可以使用对区域或区域名称的引用。
Table_array 的第一行的数值可以为文本、数字或逻辑值。
如果 range_lookup TRUE,则 table_array 的第一行的数值必须按升序排列:...-2-1012A-ZFALSETRUE;否则,函数 HLOOKUP 将不能给出正确的数值。如果 range_lookup FALSE,则 table_array 不必进行排序。
文本不区分大小写。
可以用下面的方法实现数值从左到右的升序排列:选定数值,在数据菜单中单击排序,再单击选项,然后单击按行排序选项,最后单击确定。在排序依据下拉列表框中,选择相应的行选项,然后单击升序选项。
Row_index_num    table_array 中待返回的匹配值的行序号。Row_index_num 1 时,返回 table_array 第一行的数值,row_index_num 2 时,返回 table_array 第二行的数值,以此类推。如果 row_index_num 小于 1,函数 HLOOKUP 返回错误值 #VALUE!;如果 row_index_num 大于 table-array 的行数,函数 HLOOKUP 返回错误值 #REF!
lookup函数返回值不对Range_lookup    为一逻辑值,指明函数 HLOOKUP 查时是精确匹配,还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值。也就是说,如果不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 range_value FALSE,函数 HLOOKUP 将查精确匹配值,如果不到,则返回错误值 #N/A!
说明
如果函数 HLOOKUP 不到 lookup_value,且 range_lookup TRUE,则使用小于 lookup_value 的最大值。
如果函数 HLOOKUP 小于 table_array 第一行中的最小数值,函数 HLOOKUP 返回错误值 #N/A!
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
1. 创建空白工作簿或工作表。
2. 请在帮助主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
3. Ctrl+C
4. 在工作表中,选中单元格 A1,再按 Ctrl+V
5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式
 
1
2
3
4
A
B
C
Axles
Bearings
Bolts
4
4
9
5
7
10
6
8
11
公式
说明(结果)
=HLOOKUP("Axles",A1:C4,2,TRUE)
在首行查 Axles,并返回同列中第 2 行的值。(4)
=HLOOKUP("Bearings",A1:C4,3,FALSE)
在首行查 Bearings,并返回同列中第 3 行的值。(7)
=HLOOKUP("B",A1:C4,3,TRUE)
在首行查 B,并返回同列中第 3 行的值。由于 B 不是精确匹配,因此将使用小于 B 的最大值 Axles(5)
=HLOOKUP("Bolts",A1:C4,4)
在首行查 Bolts,并返回同列中第 4 行的值。(11)
=HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE)
在数组常量的第一行中查 3,并返回同列中第 2 行的值。(c)
INDEX
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-ZFALSE, 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_valueVLOOKUP 在第一列中搜索,而 LOOKUP 根据数组维度进行搜索。
如果数组包含宽度比高度大的区域(列数多于行数),LOOKUP 会在第一行中搜索 lookup_value
如果数组是正方的或者高度大于宽度(行数多于列数),则 LOOKUP 在第一列中进行搜索。
使用 HLOOKUP VLOOKUP,可以通过索引以向下或遍历的方式搜索,但是 LOOKUP 始终选择行或列中的最后一个值。
 要点   数组中的值必须以升序顺序放置:...,-2, -1, 0, 1, 2, ...A-ZFALSE, 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+`(重音符),或者在工具菜单上,指向公式审核,然后单击公式审核模式
下面的示例使用一个数字数组为测试分数指定字母等级。
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+)
 
1
2
3
4
执行真假值判断,根据逻辑计算的真假值,返回不同结果。
可以使用函数 IF 对数值和公式进行条件检测。
语法
IF(logical_test,value_if_true,value_if_false)
Logical_test    表示计算结果为 TRUE FALSE 的任意值或表达式。例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符
Value_if_true    logical_test TRUE 时返回的值。例如,如果本参数为文本字符串预算而且 logical_test 参数值为 TRUE,则 IF 函数将显示文本预算内。如果 logical_test TRUE value_if_true 为空,则本参数返回 0(零)。如果要显示 TRUE,则请为本参数使用逻辑值 TRUEValue_if_true 也可以是其他公式。
Value_if_false    logical_test FALSE 时返回的值。例如,如果本参数为文本字符串超出
预算而且 logical_test 参数值为 FALSE,则 IF 函数将显示文本超出预算。如果 logical_test FALSE 且忽略了 Value_if_false(即 value_if_true 后没有逗号),则会返回逻辑值 FALSE。如果 logical_test FALSE Value_if_false 为空(即 value_if_true 后有逗号,并紧跟着右括号),则本参数返回 0(零)。Value_if_false 也可以是其他公式。
说明
函数 IF 可以嵌套七层,用 value_if_false value_if_true 参数可以构造复杂的检测条件。请参阅下面最后一个示例。
在计算参数 value_if_true value_if_false 后,函数 IF 返回相应语句执行后的返回值。
如果函数 IF 的参数包含数组,则在执行 IF 语句时,数组中的每一个元素都将计算。
Microsoft Excel 还提供了其他一些函数,可依据条件来分析数据。例如,如果要计算单元格区域中某个文本字符串或数字出现的次数,则可使用 COUNTIF 工作表函数。如果要根据单元格区域中的某一文本字符串或数字求和,则可使用 SUMIF 工作表函数。请了解关于根据条件计算值。
示例 1
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
 操作方法
1. 创建空白工作簿或工作表。
2. 请在帮助主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
3. Ctrl+C
4. 在工作表中,选中单元格 A1,再按 Ctrl+V
5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式
 
1
2
A
数据
50
公式
说明(结果)
=IF(A2<=100,"Within budget","Over budget")
如果上面的数字小于等于 100,则公式将显示“Within budget”。否则,公式显示“Over budget”(Within budget)
=IF(A2=100,SUM(B5:B15),"")
如果上面数字为 100,则计算单元格区域 B5:B15,否则返回空文本 ("")
示例 2
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
 操作方法
1. 创建空白工作簿或工作表。
2. 请在帮助主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
3. Ctrl+C
4. 在工作表中,选中单元格 A1,再按 Ctrl+V
5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式
 
1
2
3
4
A
B
实际费用
预算费用
1500
900
500
900
500
925
公式
说明(结果)
=IF(A2>B2,"Over Budget","OK")
判断第 1 行是否超出预算 (Over Budget)
=IF(A3>B3,"Over Budget","OK")
判断第 2 行是否超出预算 (OK)
示例 3
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
 操作方法
1. 创建空白工作簿或工作表。
2. 请在帮助主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
3. Ctrl+C
4. 在工作表中,选中单元格 A1,再按 Ctrl+V
5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式
 
1
2
3
4
A
成绩
45
90
78
公式
说明(结果)
=IF(A2>89,"A",IF(A2>79,"B", IF(A2>69,"C",IF(A2>59,"D","F"))))
为第一个成绩指定一个字母等级 (F)
=IF(A3>89,"A",IF(A3>79,"B", IF(A3>69,"C",IF(A3>59,"D","F"))))
为第二个成绩指定一个字母等级 (A)
=IF(A4>89,"A",IF(A4>79,"B", IF(A4>69,"C",IF(A4>59,"D","F"))))
为第三个成绩指定一个字母等级 (C)
在上例中,第二个 IF 语句同时也是第一个 IF 语句的参数 value_if_false。同样,第三个 IF 语句是第二个 IF 语句的参数 value_if_false。例如,如果第一个 logical_test (Average > 89) TRUE,则返回“A”;如果第一个 logical_test FALSE,则计算第二个 IF 语句,以此类推。
用下列关键字指定数字的字母等级。
如果成绩是
则返回
大于 89
A
80 89
B
70 79
C
60 69
D
小于 60
F
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-ZFALSE, 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_valueVLOOKUP 在第一列中搜索,而 LOOKUP 根据数组维度进行搜索。
如果数组包含宽度比高度大的区域(列数多于行数),LOOKUP 会在第一行中搜索 lookup_value
如果数组是正方的或者高度大于宽度(行数多于列数),则 LOOKUP 在第一列中进行搜索。
使用 HLOOKUP VLOOKUP,可以通过索引以向下或遍历的方式搜索,但是 LOOKUP 始终选择行或列中的最后一个值。
 要点   数组中的值必须以升序顺序放置:...,-2, -1, 0, 1, 2, ...A-ZFALSE, 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+)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。