模糊匹配查询
导 言
大家好,继续我们的VLOOKUP函数系列课程。
VLOOKUP函数是Excel中极其重要的一个函数。
在上一讲中,我们系统学习了VLOOKUP函数的语法结构及其参数代表的意义。
语法结构:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数含义:第1个参数为查找值,代表根据什么查找,第2个参数是查找区域,代表从哪里查找,第3个参数是返回查找区域第几列的值,第4个参数是判断精确查找还是模糊查找。
如果对于语法结构和参数掌握得还不够扎实的小伙伴,可以复习下昨天的课程。
VLOOKUP函数简明教程,终于有人把4个参数都讲清楚了
对于精确匹配,大家已经比较熟悉了。
那什么是模糊匹配呢?模糊匹配能解决什么问题呢?
今天就带大家学习一下VLOOKUP模糊匹配的使用。
— 1—
模糊匹配
不同于精确匹配只能查找与查找值完全相同的数据,模糊匹配可以把等于或接近查找值的数据作为自己的查询结果。在很多情景下,模糊匹配可以用于代替IF函数的多层嵌套,来解决条件判断问题。
我们来看这么个案例:根据成绩判定等级标准。
IF嵌套
比较常规的解决方法是采用IF函数进行条件判断,如果分数符合某个要求,就是相应的等级。我们来写下使用IF函数的公式:
=IF(B5<90,"不及格",IF(AND(B5>=90,B5<115),"及格",IF(AND(B5>=115,B5<135),"良好","优秀")))
仅仅是括号就有好几层,使用了多层嵌套,执行了多次判断,再加上AND函数才能搞定
你能保证你一次性就能写对这个函数吗?
我们很容易发现,当判断条件较多时,会为函数书写、阅读以及理解带来麻烦。
有没有更好的办法来解决这个问题呢?
通过VLOOKUP函数的模糊匹配就可以轻松解决。
解决原理:
模糊匹配下
将小于或等于查找值的最大值作为查询结果
关键:等级表的编制(查找区域的构建)
要求:
· 升序排列(从小到大);
· 每段数值区域对应的等级,取这段数值区域的下限值来对应。
我们来看下具体操作。
— 2—
成绩等级判定
1、编写等级对应表
再强调一遍原则:从小到大;每段数值区域对应的等级,取这段数值区域的下限值来对应,比如优秀等次的下限值是135,良好等次的下限值是115,及格等次的下限值是90,不及格等次的下限值是0。
编写结果如下:
成绩等级表
新编写的等级表就是VLOOKUP函数的第2个参数,查找区域
2、写VLOOKUP函数,计算等级
=VLOOKUP(B2,$J$2:$K$5,2,1)
要查找的值就是数学成绩所在的单元格,编写的等级表即为数据区域,等级信息在编写的等级表的第2列,模糊匹配用1或TRUE。
公式
我们来看下结果,如果分数是83,那查找到的就是小于或等于83的最大值所对应的等级结果,即0对应的等级“不及格”。如果分数是123,那查找到的就是小于或等于83的最大值所对应的等级结果,即115对应的等级“良好”。
和正确的结果完全一样!!!
下面我们再来看一个案例。
— 3—
提成比例计算
第1步仍然是编写提成等级表
重复一遍:从小到大;每段数值区域对应的等级,取这段数值区域的下限值来对应。
提成等级表
第2步:写VLOOKUP函数,计算提成比例
=VLOOKUP(B2,$K$2:$L$7,2,1)
要查找的值就是销售收入所在的单元格,编写的等级表即为数据区域,提成比例在编写的等级表的第2列,模糊匹配用1或TRUE。
公式
— 4—
操作演示
等级判定
提成比例
今天的内容就到这里了,大家都掌握了吗?
赶快练习一下吧!
---END---