人气 3714
Excel中几个不同查找函数(vlookup,lookup,index,match)的应用与区别
[复制链接]
大家都知道在Excel电子表格中,用Vlookup去查找某单元格内相关的值。经常也会用到lookup,有时也会用到Index,Match等函数来查找数据。这几个函数都可以查找相关的值,那么他们之间有什么不同,和如何结合起来做更加复杂的查询呢?
函数含义,先来了解一下各个函数的定义和用法Vlookup()
Vlookup函数用于搜索某个单元格区域或数组的第一列,然后返回相同行中指定列的值。Hlookup函数用于搜索某个单元格区域或数组的第一行,然后返回相同列中指定行的值。两者的区别只在于查找的方式,前者是在区域或者数组的第一列中查找,而后者则是在第一行中查找,即横向与纵向的区别。前者是在区域中左列查找返回右边指定列对应的值。后者是在区域上边行查找返回下边指定行对应的值。
Lookup()从单行/单列(向量)或数组中查找值。Lookup函数可从区域或者数组的第一行或第一列中查找数据,返回最后一行或最后一列中对应的数据。区域或者数组可以是单行或单列(称为向量),也可以是多行或多列,但是实际工作中多用于单行或单列查找,对于多行或多列的区域或者数组,通常采用Vlookup和Hlookup函数来解决。
Index()返回指定单元格或指定单元格数组的值。Index函数能引用区域或者数组中指定行与列的值,包括两种引用方式:数组和引用。如果是数组形式只能返回数值,如果是引用形式则返回引用。Index(array,row_num, [column_num])index(reference,row_num,[column_num],[area_num])
Match()返回值在数组或者区域中的对应位置。Match(lookup_value, lookup_array, [match-type])第一个参数支持通配符,也支持数组;第二个参数表示需要在其中查找值的一个区域或数组,只能是单行或单列;
具体实例有以下数据:商品 | 一季度 | 二季度 | 三季度 | 四季度 |
| 商品 | 手机 | 电视 | 593 | 752 | 643 | 802 |
| 时间 | 三季度 | 冰箱 | 579 | 639 | 629 | 689 |
| 销量 |
| 洗衣机 | 899 | 869 | 949 | 919 |
|
|
| 空调 | 532 | 723 | 582 | 773 |
|
|
| 音响 | 826 | 977 | 876 | 1027 |
|
|
| 电脑 | 580 | 780 | 630 | 830 |
|
|
| 手机 | 729 | 777 | 779 | 827 |
|
|
| 微波炉 | 797 | 968 | 847 | 1018 |
|
|
| 电暖气 | 791 | 642 | 841 | 692 |
|
|
| 在销量后应用公式:=HLOOKUP(H2,A1:E10,MATCH(H1,A1:A10,0))
可以得到779的值。
引用函数比较
函数名 | 类别 | 第1个参数 | 第2个参数 | 第3个参数 | lookup() | 向量型 | lookup_value | 区域 | [区域] |
| 数组型 | lookup_value | 区域 | 无 | hlookup() |
| lookup_value | 区域 | row_index__num | vlookup() |
| lookup_value | 区域 | col_index__num | match() |
| lookup_value | 区域 |
| index() | 向量型 | reference | row_num | [col_num] |
| 数组型 | array | row_num | [col_num]
|
不同函数查找效果实例对比学号 | 学生 |
| 学号 | 学生 | 9372001 | 甲 |
| 9372003 | =INDEX(B:B,MATCH(D2,A:A)) | 9372002 | 乙 |
|
| =VLOOKUP(D2,A:B,2,0) | 9372003 | 丙 |
|
| =LOOKUP(1,0/(D2=A2:A13),B2:B13) | 9372004 | 丁 |
|
|
| 9372005 | 戊 |
|
|
| 9372006 | 己 |
|
|
| 9372007 | 庚 |
|
|
| 9372008 | 辛 |
|
|
| 9372009 | 壬 |
|
|
| 9372003 | 癸 |
|
|
|
公式对应的值:学号 | 学生 |
| 学号 | 学生 | 9372001 | 甲 |
| 9372003 | 丙 | 9372002 | 乙 |
|
| 丙 | 9372003 | 丙 |
|
| 癸 | 9372004 | 丁 |
|
|
| 9372005 | 戊 |
|
|
| 9372006 | 己 |
|
|
| 9372007 | 庚 |
|
|
| 9372008 | 辛 |
|
|
| 9372009 | 壬 |
|
|
| 9372003 | 癸 |
|
|
|
总结:1.Horizontal水平,Vertical垂直;2.区域的开始列一般为lookup_value变量所在列,终止列一般为lookup_value值所在列;3. lookup()将“区域”的最后一列默认为值所在列;4. Vlookup()的lookup_value,一般由行形成记录,变量在区域首行,值在某列(首列对应lookup_value的关键字,某列对应具体值);5. hlookup()的lookup_value,一般由列形成记录,变量在区域首列,值在某行(首行对应lookup_value的关键字,某行对应具体值);6. 向量型lookup()可以从单行、单列区域或者一个数组中返回值,其区域是单行或单列;7. match()用于返回位置;8. index()用于返回区域中的值或值的引用;
参考自:小智雅汇(头条号) |
|