LOOKUP函数用于从单行或单列区域或者从一个数组返回值。LOOKUP函数具有两种语法形式:向量形式和数组形式。
向量形式
向量是只含一行或一列的区域。LOOKUP的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第2个单行区域或单列区域中相同位置的值。其语法如下:
LOOKUP(lookup_value,lookup_vector,result_vector)
其中,lookup_value参数为LOOKUP函数在第1个向量中搜索的值。lookup_value可以是数字、文本、逻辑值、名称或对值的引用。lookup_vector参数为只包含一行或一列的区域。lookup_vector中的值可以是文本、数字或逻辑值。result_vector参数为只包含一行或一列的区域。它必须与lookup_vector大小相同。
注意:lookup_vector中的值必须以升序顺序放置:…,-2,-1,0,1,2,…;A-Z;FALSE,TRUE,否则,LOOKUP可能无法提供正确的值。大写文本和小写文本是等同的。下面通过实例详细讲解该函数的使用方法与技巧。
打开“LOOKUP函数.xlsx”工作簿,切换至“Sheet1”工作表,本例中的原始数据如图16-1所示。要求根据该工作表中的内容,从单行或单列区域或者从一个数组查找数据。具体的操作步骤如下。
STEP01:选中A8单元格,在编辑栏中输入公式“=LOOKUP(13,A2:A6,B2:B6)”,用于在A列中查找13,然后返回B列中同一行内的值(兰花厅),输入完成后按“Enter”键返回计算结果,如图16-2所示。
图16-1 原始数据
图16-2 返回结果(兰花厅)
STEP02:选中A9单元格,在编辑栏中输入公式“=LOOKUP(18,A2:A6,B2:B6)”,用于在A列中查找18,与接近它的最小值17匹配,然后返回B列中同一行内的值(翠竹轩),输入完成后按“Enter”键返回计算结果,如图16-3所示。
STEP03:选中A10单元格,在编辑栏中输入公式“=LOOKUP(22,A2:A6,B2:B6)”,用于在A列中查找22,与接近它的最小值21匹配,然后返回B列中同一行内的值(紫云斋),输入完成后按“Enter”键返回计算结果,如图16-4所示。
图16-3 返回结果(翠竹轩)
图16-4 返回结果(紫云斋)
STEP04:选中A11单元格,在编辑栏中输入公式“=LOOKUP(0,A2:A6,B2:B6)”,用于在A列中查找0,并返回错误值“#N/A”,0小于lookup_vector A2:A7中的最小值,所以工作表中最终得出的计算结果如图16-5所示。
数组形式
LOOKUP的数组形式在数组的第1行或第1列中查找指定的值,并返回数组最后一行或最后一列内同一位置的值。当要匹配的值位于数组的第1行或第1列中时,使用LOOKUP的这种形式。当要指定列或行的位置时,则须使用LOOKUP的另一种形式。
说明:一般情况下,最好使用HLOOKUP或VLOOKUP函数而不是LOOKUP的数组形式。因为LOOKUP的这种形式是为了与其他电子表格程序兼容而提供的。
LOOKUP的数组形式语法如下:
LOOKUP(lookup_value,array)
其中,lookup_value参数为LOOKUP在数组中搜索的值。下面通过实例详细讲解该函数的使用方法与技巧。
打开“LOOKUP函数.xlsx”工作簿,切换至“Sheet2”工作表,本例中的原始数据如图16-6所示。要求根据该工作表中的内容,在数组的第1行或第1列中查找指定的值,并返回数组最后一行或最后一列内同一位置的值。具体的操作步骤如下。
STEP01:选中A2单元格,在编辑栏中输入公式“=LOOKUP(“B”,{“A”,”B”,”C”,”D”;5,6,7,8})”,用于在数组的第1行中查找“B”,查找小于或等于它(“B”)的最大值,然后返回最后一行中同一列内的值,输入完成后按“Enter”键返回计算结果,如图16-7所示。
STEP02:选中A3单元格,在编辑栏中输入公式“=LOOKUP(“apple”,{“A”,3;”B”,4;”C”,5})”,用于在数组的第1行中查找“apple”,查找小于或等于它(“A”)的最大值,然后返回最后一列中同一行内的值,输入完成后按“Enter”键返回计算结果,如图16-8所示。
图16-5 计算结果
图16-6 原始数据
图16-7 A2单元格计算结果
图16-8 A3单元格计算结果