实用Excel技巧分享:聊聊区间查询的三大套路!

时间:2023-05-05
阅读:

区间取值的问题,在我们日常工作中经常会遇到,比如:销售提成、等级评定、生产标准核定、绩效考核等等,都属于此类问题,今天就给大家介绍几种常用的方式方法,旨在丰富大家知识面的同时,也可以对函数的应用拓宽一些眼界。

实用Excel技巧分享:聊聊区间查询的三大套路!

数据源

先给出今天教学的源数据。建议大家在看后面解决方式之前,先思考一下你会用什么方法处理,会用几种方法处理,然后再来印证。

实用Excel技巧分享:聊聊区间查询的三大套路!

数据本身没有什么好说的,要求:根据B列的数值,在E列的范围条件中找到对应范围在H列的区间系数,并提取到C列计提系数中。

本身来说,此类问题更多的是计算计提金额,我们为了更加突出提取系数的函数部分,就省略了此环节,大家记得下面的每个函数再乘以B列数值就可以得到计提金额。

附加知识

在给大家解决问题的方式之前,先说一点附加知识。看一下上图中F列的表达方式,在日常工作中,我们看到此类问题的条件描述大部分都会写成E列的格式。但区间的表示方式,规范的写法应该如F列的格式,由两个值组成,以逗号隔开,左边的值为最小值,右边的值为最大值,“[ ]”为包含等于,“( )”为不包含等于。无穷符号是在插入符号中输入,如下。

实用Excel技巧分享:聊聊区间查询的三大套路!

解题方案

【方法一:IF函数】

图例:

实用Excel技巧分享:聊聊区间查询的三大套路!

C2单元格函数:

=IF(B2>=500,0.1,IF(B2>=300,5%,IF(B2>=150,3%,IF(B2>=50,1%,0))))

函数解析:

对于区间取值的问题,IF函数也许是我们最先想到的方式,也是很多同学用的最多的方式,同时它也确实是最好理解函数原理的一个。但是小函数却有大智慧,对于IF函数,我们要知道多级IF嵌套的运算顺序是从左向右进行的,第一级条件B2>=500为真(TRUE),则返回0.1,为假(FALSE)则进行第二级IF判断B2>=300,为真(TRUE)则返回5%,为假(FALSE)则进行第三级判断条件,以此类推。当某一级条件为真(TRUE)返回某个值后,函数也就不再向后运行。

所以很多同学写错了IF嵌套,就是写错了这个逻辑关系,导致返回值不对。记住这个逻辑关系一定是要么全用>号,从大到小写;要么全用

实用Excel技巧分享:聊聊区间查询的三大套路!

上图就是全用号写的IF函数,大家注意到没有,条件中的=号都是包含在次一级跳点区间中的,所以我们在函数中只使用了号,没有使用=号。

C2单元格函数:

=IF(B2IF(B2IF(B2IF(B210%))))

【方法二:VLOOKUP函数】

图例:

实用Excel技巧分享:聊聊区间查询的三大套路!

C2单元格函数:

=VLOOKUP(B2,$G$2:$H$6,2,1)

函数解析:

VLOOKUP函数用于垂直查询,一共有四个参数,前三个我们就不多介绍了,其中第四个参数是模糊查询(TRUE)/精确查询(FALSE)。

VLOOKUP函数是一个使用率很高的函数,再绝大多数的工作环境中我们都可以使用精确查询,但是在区间取值的问题上,必须使用模糊查询。

使用VLOOKUP函数区间取值时,我们的数据源必须像G、H列那样,将数据按照“升序”的方式排列出来。当然我们也可以使用数列,同样数列的输入也须按照升序来写{0,0;50,1%;150,3%;300,5%;500,10%}。数列的问题不是今天的重点,我们以后写数组函数内容的时候再来说它。

【方法三:LOOKUP函数】

图例:

实用Excel技巧分享:聊聊区间查询的三大套路!

C2单元格函数:

=LOOKUP(B2,$G$2:$G$6,$H$2:$H$6)

函数解析:

这里我们使用了LOOKUP函数的“向量”用法。即在第一个区域(第2参数)的查询值中,返回第二个区域(第3参数)中对应的值。这个是不是比VLOOKUP函数更好理解呢?同理,和VLOOKUP函数一样,它的数据源也需要升序排列。

当然我们也可以使用LOOKUP函数的数组用法,如下:

实用Excel技巧分享:聊聊区间查询的三大套路!

LOOKUP函数的数组用法,是在区域的首端找到值,再返回区域末端对应的值。

LOOKUP函数相对于VLOOKUP函数(垂直查询)和HLOOKUP函数(水平查询)来说,倒是显得“全能”了一些,它可以根据行或者列来做今天的区间取值问题,如下图:

实用Excel技巧分享:聊聊区间查询的三大套路!

返回顶部
顶部