首页 > 编程知识 正文

vlookup函数详解教程,VlOOKUP函数

时间:2023-05-05 04:23:22 阅读:281674 作者:4635

大家好,我是小V。

上次我们介绍了VLOOKUP函数常用方法,精确匹配用法!

今天我们来介绍VLOOKUP函数的另一种用法——模糊匹配。

首先我们来回顾一下VLOOKUP函数的语法结构及参数:

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

第一个参数:lookup_value为要查找的值;

第二个参数:Table_array是要在哪个区域查找;

第三个参数:Col_index_num是返回的值在查找区域的第几列;

第四个参数:range_lookup,选择模糊匹配还是精确匹配。

从上面参数的解释可以看到,第四个参数,有两种选择

1) 当range_lookup为False,代表精确匹配;

2) 当range_lookup为True,代表模糊匹配;

上篇文章我们已经详细介绍过精确匹配的使用方法及应用场景。

那什么是模糊匹配?该怎么使用模糊匹配?模糊匹配能够解决什么问题?

模糊匹配

在使用精确匹配查找时,查找值必须和查找区域内对应的列的查找值完全相同;而在模糊匹配下,将小于或等于查找值的最大值作为查询结果

 

模糊匹配时查找区域一般需要重新构建,构建查找区域遵循以下要求:

1.匹配列的值要按照从小到大升序排序;

2.每段数值区域对应的等级,取这段数值区域的下线来对应。

 

通常模糊匹配可以用来代替IF函数的多层嵌套,解决多条件判断问题。

例如等级判定或奖金发放。下面我们来结合两个实例学习模糊匹配的应用。


应用场景(一)——成绩等级判定

需求:现在有一张学生的成绩表(如下表1),要求我们根据成绩为每个学生写出评语:成绩在85分以上为“优秀”,85至75分为“良好”,75分至60分为“及格”,60分以为“不及格”。

 

这里要完成对每个学生的成绩判定,我想到的第一种方法就是使用IF进行条件判断。

IF函数的写法:=IF(C3>85,"优秀",IF(C3>75,"良好",IF(C3>60,"及格","不及格")))

使用IF函数条件判断给出评语需要用IF函数多层嵌套,当我们需要判断的条件比较多时就比较麻烦,而且还容易出错,如果我们使用模糊匹配就比较简单快捷了。

我们来看使用模糊匹配给出评语的方法:

第一步:我们先把每个分数区间对应的评语写出来,如下表1;

第二步:因为模糊匹配时,查找值成绩是数值和区间无法正确匹配,这里我们要把区间转换为数值,取每一个区间中的最小值,得到表3;

第三步:使用VLOOKUP函数实现模糊查找,=VLOOKUP(C3,$K$3:$L$6,2,TRUE),得到表4的结果。

 

 

应用场景(二)——奖金发放比例

还是上面的那张表

需求:根据各学生的评语计算奖学金:“优秀”为500,“良好”为200,其余都没有奖学金(对应单元格为空)。

还是可以用两种方法IF函数多条件判断和VLOOKUP模糊匹配。

这次我们直接使用模糊匹配来完成

第一步:我们先把每个评语对应的奖金写出来,对应的分数区间也要列出来,因为我们是按照成绩进行匹配的,如下表5;

第二步:把区间转换为数值,取每一个区间中的最小值,得到表6;

第三步:使用VLOOKUP函数实现模糊查找,=VLOOKUP(C3,$K$10:$L$12,2,TRUE),得到(表7)的结果。

当然这里还可以使用VLOOKUP精确匹配直接通过评语给出对应的奖金金额。这里就不详细介绍了,作为给大家的小作业,如果想要知道做的是否正确,可以私信我发你答案。

关于模糊匹配我们今天就分享到这里~

下期预告:下期分享VLOOKUP函数逆向查询


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。