龙空技术网

Excel中的近似查询,常用套路一贴灵

Excel之家 464

前言:

当前大家对“近似串匹配问题”都比较重视,朋友们都想要了解一些“近似串匹配问题”的相关文章。那么小编也在网络上搜集了一些关于“近似串匹配问题””的相关资讯,希望看官们能喜欢,兄弟们一起来了解一下吧!

各位表亲周日好啊,今天老祝和大家说说Excel中的近似查询问题。

话说某单位组织员工考核,最后需要根据考核分数进行评定。

判断规则是:

考核分数在0~59的,不合格。

60~79的,是合格。

80~89的,是优秀。

90及以上的,是良好。

对于这种情况,咱们要首先建立一个分数和等级的对照表:

发现这个对照表的规律了吗?

分数是从小到大排列的,首列中的分数就是等级标准的起始值,也就是达到这个分数或是超过这个分数了,就是对应的等级。

在这个例子中,就要用到近似匹配了。

接下来,咱们看看用哪些方法能实现。

INDEX+MATCH

先来说INDEX+MATCH的用法,这是一对查找应用的天生绝配,MATCH函数负责找出位置,INDEX函数负责根据这个位置找到对应的值,话不多说,看公式。

=INDEX(F$3:F$6,MATCH(B2,E$3:E$6))

MATCH函数省略第三参数,表示在E3:E6这个区域中,查找小于或等于B2单元格(75)的最大值。

在E3:E6这个区域中,没有75这个值,她就找到所有几个弟弟当中最大的一个弟弟,也就是60。

MATCH函数说了:既然找不到你哥,我也不能空着手走,就拿你顶包吧!然后就返回60在E3:E6这个区域中的位置2,INDEX函数根据这个位置返回F3:F6单元格中对应的值。

这里MATCH就是一个班长:报告老师,第二排有人睡觉了!

INDEX函数马上就说了:第二排睡觉的那个,滚出去!

注意这里有一个前提啊:查询区域首列的值必须以升序排序,否则就乱了方寸了。

VLOOKUP

VLOOKUP也是重量级的查找引用函数,出镜率那是相当的高,有江湖的地方,就有VLOOKUP。

=VLOOKUP(B2,E$3:F$6,2)

VLOOKUP函数的几个参数大家都记得吧:

第一个是要找谁

第二个参数是在哪儿找

第三个参数是返回第几列的值

第四个参数是精确的找还是近似的找。

在这里,VLOOKUP函数第四参数省略掉了,默认执行的是近似的匹配方式,VLOOKUP函数说了:既然没有小尾巴跟踪,我就不较真儿了,差不多得了。

查找时,返回精确匹配值或近似匹配值。 如果找不到精确匹配值,则返回小于查找值的最大值,也是在找几个弟弟中最大的那个弟弟。

LOOKUP

LOOKUP函数可是一个魅力十足的奇女子,那是简单而不简约,手起刀落之处,必是哀鸿遍野。

=LOOKUP(B2,E$3:F$6)

LOOKUP函数第一参数是查询值,第二参数是查询区域,由于她实在是变化多端,所以咱们今天只说重点:

大家只要记得,如果 LOOKUP 函数找不到查询值,则会与查询区域中小于或等于查询值的最大值进行匹配,匹配方式仍然是找不到本主时,就拿几个弟弟中的大弟弟顶包。

这里第二参数是一个两列的区域,LOOKUP函数很聪明的从这个区域中的首列,找到大弟弟的位置,并且返回这个区域最后一列对应位置的值。

条条大路通罗马,近似匹配的查询,用几个函数都能实现。

但是注意哦,在近似匹配时,必须是要将查询区域的首列从小到大排序的,否则的话,就找不到大弟弟的位置了呢。

好了,今天咱们的分享就是这些吧,祝各位一天好心情!

图文制作:祝洪忠

标签: #近似串匹配问题