第1个回答 2019-06-21
VLOOKUP函数主要功能:在数据表的首列查找指定的数值,并由此返回数据表当前行中指定列处的数值。
使用格式:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
说明:Lookup_value代表需要查找的数值;Table_array代表需要在其中查找数据的单元格区域;Col_index_num为在table_array区域中待返回的匹配值的列序号(当Col_index_num为2时,返回table_array第2列中的数值,为3时,返回第3列的值…);Range_lookup为一逻辑值,如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果为FALSE,则返回精确匹配值,如果找不到,则返回错误值#N/A。
应用举例:
问题:如下图,已知表sheet1中的数据如下,如何在数据表二
sheet2
中如下引用:当学号随机出现的时候,如何在B列显示其对应的物理成绩?
首先要知道需要用到vlookup函数,那么先介绍一下使用
vlookup函数的几个参数,vlookup是判断引用数据的函数,它总共有四个参数,依次是:
1、判断的条件
2、跟踪数据的区域
3、返回第几列的数据
4、是否精确匹配
根据以上参考,和上述在sheet2表的B列显示问题的实际需求,在sheet2表的B2单元格输入这个公式是:
=vlookup(a2,sheet1!$a$2:$f$100,6,true)
详细说明一下,在此vlookup函数例子中各个参数的使用说明:
1、a2
是判断的条件,也就是说sheet1表和sheet2表中学号相同者,即sheet2表a列对应的数据和sheet1表中学号列a列的数据相同方能引用;
2、sheet1!$a$2:$f$100
是数据跟踪的区域,因为需要引用的数据在f列,所以跟踪的区域至少在f列,sheet1!是不同表间引用所用的表名称,和标志是表间引用的!符号,$是绝对引用($a$2:$f$100
表明从A2到F100单元格的数据区域,如果数据区域不止100,那么可以直接使用A:F,这样虽然方便但是有风险,因为如果sheet1表的下方还有其它数据,就有可能出现问题;
3、6
这是返回什么数的列数,如上图的物理是第6列,所以应该是6,如果要求英语的数值,那么此处应该是5
4、是否绝对引用,如果是就输入
true
如果是近似即可满足条件
那么输入false
(近似值主要用于带小数点的财务、运算等)
5、vlookup是垂直方向的查找,如果是水平方向查找可使用Hlookup函数,使用方法类似。
结果如下图:
特别提醒:Lookup_value参见必须在Table_array区域的首列中;如果忽略Range_lookup参数,则Table_array的首列必须进行排序;在此函数的向导中,有关Range_lookup参数的用法是错误的。