|
EXCEL是非常强大的表格工具,也是我们使用频率非常高的软件,掌握一些实用的excel技巧对于提高我们的工作效率非常有帮助。今天分享一下快速从数据源中匹配到相关值的方法。
案列:有个成绩表记录着很多学生的姓名和分数,现在有另一个表记录着其中部分学生的姓名(顺序与原成绩表不一致),要查询出这部分学生对应的分数。
工具/原料
excel方法/步骤
我们通过函数 =vlookup(lookup_value,table_array,col_index_num,[range_lookup]) 来解决这个问题。
我们先解释该函数的四个参数分别代表什么,然后逐渐代入相关值改写函数,最后解决案例的问题。
第一个参数 lookup_value 是待查找的值,即我们通过什么值作为参照来取目标值。案例中,我们需要通过姓名来查询对应的分数,所以 姓名 就是这个待查找的值,而对应的分数即为要取的 目标值。而对于单元格B2来说,姓名放在 A2单元格,所以第一个参数 lookup_value 应为 A2。
所以函数现在可以写成 =vlookup(A2,table_array,col_index_num,[range_lookup])
第二个参数 table_array 是查找的区域,即表示我们从哪个区域去查找 待查找的值。案例中我们的数据源在sheet1的A2:B8区域,即我们第二个参数应为 sheet1!A2:B8。
所以函数现在可以写成 =vlookup(A2,sheet1!A2:B8,col_index_num,[range_lookup])
这里有一个重要提示:参数二的区域范围一定是从要查找的值所在的列开始,比如案例中姓名在数据源中位于A列,所以我们的范围是A2:B8,如果姓名在B列,成绩在C列,那么我们的范围就必须是B2:C8,而不能是A2:C8。
第三个参数 col_index_num 是目标值在数据源表中相对于查找值所在列的列数,可能有点拗口,结合案例来解释。案列中,在数据源表中,以查找值(姓名)为第一列,那么目标值(成绩)则在第二列,不管姓名前面是否有列,它都是第二列,但如果姓名和成绩中间有列,则该参数随之增加。即本案例第三个参数是2。
所以函数现在可以写成 =vlookup(A2,sheet1!A2:B8,2,[range_lookup])
第四个参数 [range_lookup] 比较简单,只有两个值 TRUE 和 FALSE,分别代表 模糊匹配 和 精确匹配,这里看实际需要使用。比如案例中,我们肯定是精确匹配,即为 FALSE。
所以函数现在可以写成 =vlookup(A2,sheet1!A2:B8,2,FALSE)
代入所有参数后,我们回车来看看结果,并与数据源进行对比。
第一个单元格结果无误后,我们以相同方式完成其它单元格的匹配,即解决案例中的问题。