首页 > Excel专区 > Excel函数 >

excel 区间查询的三大套路详解

Excel函数 2023-01-08

就拿excel中的区间查找来说,在我们的工作中随时都会用到,比如等级评定,绩效考核等等。所以我们将推出关于区间取值的系列教程,该系列教程共分为3篇,分别是常规函数篇、经典嵌套函数篇、数组函数篇,将为小伙伴分享9种区间取值的方法,希望能丰富小伙伴们的excel知识。(本篇为常规函数篇)

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

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

老是加班还没加班费?谁让你不会excel区间查询的三大套路

 

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

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

【附加知识】

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

老是加班还没加班费?谁让你不会excel区间查询的三大套路

 

【解题方案】

1、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(B2<50,0,IF(B2<150,1%,IF(B2<300,3%,IF(B2<500,5%,10%))))

2、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%}。数列的问题不是今天的重点,我们以后写数组函数内容的时候再来说它。

3、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区间查询的三大套路

Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.