Excel系列:查找和引用函数


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

知识点:

  • 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函数数组形式中,查找值应位于第二参数数组区域的第一行/列。如果数组区域行数>列数,返回符合查找值所在行对应最后一列的值;如果行数<列数,返回符合查找值所在列对应最后一行的值。

 

总结使用lookup函数要注意的点:

  1. 查找区域(数组形式中,为查找区域的第一行/列)要排序!
  2. 如果查找值<查找区域(数组形式中,为查找区域的第一行/列)最小的值,返回#N/A;
  3. 如果没有找到匹配值,则返回小于查找值的最大值。

7.lookup函数与vlookup函数、hlookup函数的总结

(1)hlookup函数和vlookup函数要求查找值在查找区域的第一行/列,lookup函数没有这个要求;

(2)lookup函数要求查找区域按小到大排序,hlookup函数和vlookup函数没有这个要求;

(3)lookup函数只能实现单行/列的查找,hlookup函数和vlookup函数可以实现多列查找。

 

 

二 、引用函数

1.index函数

(1)连续区域

语法:index(区域,行号,列号)

作用:返回给定区域中特定行列单位格的交叉值或引用

示例:

 

(2)不连续区域

语法:index((区域1,区域2,...),行号,列号,第几个区域)

作用:返回给定区域中特定行列单位格的交叉值或引用

示例:

 

(3)match函数和index函数的组合使用

优势:hlookup函数和vlookup函数要求查找值在查找区域的第一行/列,如果数据不满足这个要求,可以使用match+index函数的组合。

解读:match函数可以返回查找值对应的行/列号,放入index函数的行/列的位置,然后在列/行的位置输入目标值所在目标区域的列/行号。

 

2.indirect函数

语法:indirect(引用区域,[引用格式])

作用:返回文本字符串所指定的引用

示例:

解读:第二参数引用格式有两种,第一种 1(TRUE)代表A1格式,可忽略不写;第二种0(FALSE)代表R1C1格式,这里解释一下这个格式,R代表row,C代表column,R1C1意思是第一行第一列交叉位置的单位格,即A1,但这种格式不常用。indirect函数的引用区域加"",为直接引用文本;引用区域不加"",为应用那个该文本表示的位置。

 

3.offset函数

语法:offset(基准位置,几行(正下负上),几列(正右负左),[返回几行],[返回几列])

作用:将指定的位置作为参照系,偏移特定的行列返回引用

示例:

(1)不填写第四、第五参数

 

(2)填写第四、第五参数

解读:如果offset函数的第四、第五参数填写的话,因为引用的是一个数组区域,所以需要按组合键“ctrl+shift+enter”,不然就会报错。

 

 

查找引用函数是能够大大减少我们校对工作的利器,而且减少了人工校对的误差,使用频率也是非常高的,希望大家能牢牢掌握,提升工作效率!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM