首页 理论教育 Excel查找类函数:1.6.3版本的常用功能

Excel查找类函数:1.6.3版本的常用功能

时间:2023-07-22 理论教育 版权反馈
【摘要】:在含有相关信息的表格中,查找类函数可以根据不同的输入信息,检索出其相关的信息。INDEX表示返回指定引用中的第area个区域中的特定行列中的数值。请读者在Excel中自行尝试。用match和index函数构造灵活的查询Match函数提供了比lookup函数和vlookup函数更多的灵活性,它可以在工作表的一行(列)中进行数据查找,并返回数据在行(列)中的位置。表1.5 match函数的查找方式Match表示在数组或连续的单元格区域r中查找x,并返回x在r中的位置编号。

Excel查找类函数:1.6.3版本的常用功能

在含有相关信息的表格中,查找类函数可以根据不同的输入信息,检索出其相关的信息。我们将分别介绍以下五个重要的查找类函数:

(1)lookup函数

lookup函数的功能是:从给定的向量(单行或单列单元格区域)或数组中查询出需要的数值。其用法为lookup(x,r1,r2),其中x是要查找的内容,它可以是数字、文本、逻辑值或包含数值的名称或引用;r1和r2都是只包含一行或一列的单元格区域,其值可以是文本、数字或逻辑值,r2的长度(或宽度)必须与r1相同,即一一对应。

Lookup函数在r1所在的行(列)中查找值为x的单元格,找到后返回r2中与r1同行或同列的单元格中的值。Lookup函数有一个比较明显的不足之处:r1中的内容必须按升序排序,否则lookup函数不能返回正确的结果。

(2)VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)该函数的含义是:在给定表格(“table_array”)中的最左一列中查找出匹配值,然后返回同一行中指定列(“col_index_num”)中的数值。在缺省情况下,表格中的第一列是按升序排列的(这就是暗示range_lookup=1(或TRUE))。实际上,在这种情况下,最后一个输入参数可以省略。

要查找的值(“lookup_value”)可以近似(或精确)地匹配表格中第一列的数据,在匹配的基础上找到同一行中指定列的数据,并返回。“range_lookup”参数是一个逻辑值(TURE或者FALSE)。表明是进行近似匹配还是精确匹配。如果是TRUE或者忽略,则进行近似匹配。如果没有找到完全相匹配的值,就会用(比“lookup_value”小的)最大值来匹配,如果要找的数比其中第一列中最小的还要小,那么就返回#NA。如果是FALSE,VLOOKUP函数将精确匹配或者返回错误值#NA。

我们用几个简单的例子来说明:

图1.54

如图1.54所示,“=VLOOKUP(1,A2:C10,2)”则表示在A2:C10区域中在第一列(A列)中寻找1,然后返回第二列(B列)对应的值,由于range_lookup参数被忽略,所以是属于近似查找。比1小的最大的数是0.946,所以返回的是B列的2.17。

再看公式“=VLOOKUP(0.7,A2:C10,3,FALSE)”,和上一个公式类似区别在于增加了range_lookup参数为“FALSE”表示是精确查找,因为表格中没有准确匹配的数,所以返回#NA。

(3)HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)

HLOOKUP的用法与VLOOKUP完全类似。只是将列向查找改为行向查找。先查找第一行中的匹配数据,然后返回同一列中指定行的数据。

(4)MATCH(lookup_value,lookup_array,match_type)

该函数返回单一列(或行)中在指定方式下(“match_type”)与指定数值匹配的数组元素的相对位置。如果match_type为0,函数返回精确匹配的数值位置,不管数组如何排序。如果match_type为1,则返回近似匹配的数值位置,此时需要数组按升序排列。否则,如果match_type为-1,也返回近似匹配的数值位置,但此时需要数组按降序排列。

注意:

①该函数返回的是匹配数值在数组中的位置,而不是数值本身。

②返回的是相对位置。

③若match_type忽略,则默认为1。

④建议match_type用0。(www.xing528.com)

(5)INDEX(array,row_num,colum_num);INDEX(reference,row_num, colum_num,area)

INDEX(array,row_num,colum_num)表示返回指定某个区域中的特定的行列中的数值,如果数组arrya是单列或单行,则相应的列参数或行参数都可以省略。

INDEX(reference,row_num,colum_num,area)表示返回指定引用中的第area个区域中的特定行列中的数值。请读者在Excel中自行尝试。

(6)用match和index函数构造灵活的查询

Match函数提供了比lookup函数和vlookup函数更多的灵活性,它可以在工作表的一行(列)中进行数据查找,并返回数据在行(列)中的位置。如果需要找出数据在某行(列)的位置,就应该使用match函数而不是lookup函数。Match函数的用法三为:match(x,r,f);其中,x是要查找的数值;r可以是一个数组常量,或某列(行)连续的单元格区域,可能包含要查找的x;f用于指定match的查找方式,可以设定为-1,0或1。表1.5给出了这几个取值的含义。

表1.5 match函数的查找方式

Match(x,r,f)表示在数组或连续的单元格区域r中查找x,并返回x在r中的位置编号。当f为0时,进行精确查找,为1(或-1)时,进行模糊查找。需要注意的是,match函数返回x在r中的相对位置,而不是数值本身。在多数情况下, match函数的结果并不是所需要的最终答案,而是作为lookup函数(vlookup、hlookup)的第三个参数,或作为index和offset函数的参数。通过这些函数,最终求得所需单元格的值。

Index函数的用法如下:index(area,r,c,n),其中,area是1个或多个单元格区域,r是某行的行序号,c是某列的列序号,返回指定的行与列交叉处的单元格引用。如果r等于0,则返回整行单元格引用,如果c等于0,则返回整列单元格引用。

当area包括多个单元格区域时,n=1就表示结果来自于area中的第1个区域,n=2表示结果来源于第2个单元格区域……如果省略n,表示结果来源于第1个单元格区域。

Index(area,r,c,n)的功能是返回area中第n个单元格区域中的r行c列交叉处的单元格引用。Index函数还可以返回单元格区域。

(7)用choose函数进行值查询

Choose函数利用索引号从参数表中选择需要的数值,用法为:choose(n,v1, v2,……,vx)。其中,n是一个整数值,用以指明待选参数的序号,必须为1-x之间的数字或者是包含数字1-x的公式或单元格引用。如果n为1,函数的值就为v1;如果为2,函数返回v2,其余以此类推。

v1,v2,…,vx为数值参数,可以是数字、单元格引用,或者已定义的名称、公式、函数或文本。

(8)offset函数

offset函数以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。

Offset函数的用法为:OFFSET(r,rows,cols,h,w)。其中,r是作为参照系的单元格引用;rows是相对于r在垂直方向上偏移的行数,rows必须是一个整数,小于0时表示向上偏移,大于0时代表向下偏移,等于0时没有偏移;cols是相对于r在水平方向上偏移的列数,也必须是整数,小于0时表示向左偏移,大于0时代表向右偏移,等于0时没有偏移;h表示引用区域的行数,必须是整数;w表示引用区域的列数,必须是整数。

Offset函数特别适用于对于一系列数据的引用。之前我们讲到的引用函数都是对于单个数据的引用,而offset可以用于对一系列数据的引用。该函数在制作图表和建模中有很大的用途。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈