Excel系列:查找引用函数

论坛 期权论坛 期权     
数据分析鱼   2019-7-13 06:02   1680   0
上篇文章分享了日期和时间函数,这篇介绍查找引用函数。在数据量非常少的时候 ,可能并不需要使用查找引用函数,但是数据量一大,你就能感受到查找引用函数有多重要。接下来跟着小鱼一起来学习查找引用函数吧!

知识点:
  • column    columns    row    rows    match    vllookup    hlookup    lookup
  • index    indirect    offset


一、查找函数

1.column函数、columns函数
    语法:column(区域)、columns(数组或区域)
    作用:column函数——返回一个引用的列号
              columns函数——返回某一引用或数组的列数
    示例:



2.row函数、rows函数
    语法:row(区域)、rows(数组或区域)
    作用:row函数——返回一个引用的行号
              rows函数——返回某一引用或数组的行数
    示例:



3.match函数
    语法:match(查找值,查找区域或数组,[配备类型])
    作用:返回查找值在查找区域或数组的相对位置
    示例:


解读:公式的第三个参数用中括号表示该参数为选填项,有两种匹配类型可选。第一种是0(FALSE),代表精确匹配;第二种是1(TRUE),代表近似匹配。如果不填写第三参数,默认为0(精确匹配)。

4.vlookup函数
    语法:vlookup(查找值,查找区域,区域内第几列,[匹配类型])
    作用:根据首列满足查找值的行序号,返回在区域内对应列数的值
    示例:



5.hlookup函数
    语法:vlookup(查找值,查找区域,区域内第几行,[匹配类型])
    作用:根据首列满足查找值的列序号,返回在区域内对应行数的值
    示例:



6.lookup函数
(1)向量形式
    语法:lookup(查找值,查找区域,[结果区域])
    作用:从单行/列中查找一个值
    示例:


解读:公式的第三个参数用中括号表示该参数为选填项。需要注意的是,查找区域和结果区域的范围应该相等。

仔细的朋友应该有注意到,前四位小陈、小林、小罗、小张的班级查询结果都是对的,第五位小汤显示班级为三班,但依照数据来看,其实应该是五班才对。那么是哪里出现错误了?

出错的原因在于lookup函数的折半查找算法。折半算法为:将数据按从小到大排好顺序,取中间位置的数与查找值对比。如果中位数>查找值,在前半段进行第二次折半查找,否则在后半段进行第二次查找,直到找到匹配的值。如果匹配不到查找值,则返回小于或等于查找值的最大值。如果查找值比查找区域的最小值还小,那么会返回#N/A错误。

所以示例出错的原因在于查找区域没有排序。其实不止数值,文本也有排序。文本的排序依据为文本的拼音a~z按位置代表1~26排序。对上述示例修改如下:


所以,要使用到lookup函数,一定要先对查找区域进行排序,不然就会出错了!

(2)数组形式
    语法:lookup(查找值,数组)
    作用:从数组中查找一个值
    示例:


解读:lookup函数数组形式中,查找值应位于第二参数数组区域的第一行/列。如果数组区域行数>列数,返回符合查找值所在行对应最后一列的值;如果行数
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP