本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于多区间判断的相关问题,多区间判断的问题想必大家都遇到过,比如成绩评定、业绩考核等等,下面就一起来看一下怎么实现,希望对大家有帮助。
相关学习推荐:excel教程
多区间判断的问题想必大家都遇到过,比如成绩评定、业绩考核等等。今天就和大家分享一个多区间判断的函数公式套路。
先来看问题,要根据a1单元格中的业绩给出对应的等级,划分规则是:
<60,等级为“f”;
60~69,等级为“e”;
70~79,等级为“d”;
80~89,等级为“c”;
90~99,等级为“b”;
>=100,等级为“a”。
下面咱们就简单汇总一下常用的解决方法和思路。
1、if函数=if(a1>=100,”a”,if(a1>=90,”b”,if(a1>=80,”c”,if(a1>=70,”d”,if(a1>=60,”e”,”f”)))))
通过if函数嵌套,像剥洋葱一样逐层判断a1数值所在的区间,并返回对应的结果。
大于等于100,返回“a”,大于等于90,返回“b”,大于等于80,返回“c”……
这个公式的优点是易于理解,缺点是如果有多个判断条件,公式会变得越来越长了。
还有一个问题,使用if函数进行多个区间的判断时,小伙伴们可以记住一个窍门,就是可以从最高的规则部分开始,逐级向下判断。也可以从最低的规则部分开始,逐级向上判断。刚刚这个公式,就可以写成:
=if(a1<60,f,if(a1<70,e,if(a1<80,d,if(a1<90,c,if(a1<100,b,a)))))
2、lookup=lookup(a1,{0,60,70,80,90,100},{f,e,d,c,b,a})
这种写法是多区间判断并返回对应值的模式化公式,是if函数逐层判断的升级版。
注意,lookup第二参数要升序处理{0,60,70,80,90,100}。
lookup函数以a1为查找值,返回第二参数中小于等于a1的最大数值,也就是要找所有弟弟中的大弟弟,并第三参数{“f”,”e”,”d”,”c”,”b”,”a”}中对应位置的字符串。
3、建立对照接下来这种方法看起来不够牛逼了,需要先在excel中建立一个对照表:
然后使用vlookup函数在对照表中执行近似匹配的查询:
=vlookup(a1,d2:e7,2)
这里有两点需要注意:
1、是对照表中的首列使用升序排序;
2、是vlookup函数省略第四参数,返回精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于待查询内容(a1)的最大值。
相对于其他公式,建立对照表的方法看似繁琐,但是在实际应用中更便于修改标准,而不必重新编辑公式。
4、match函数=mid(fedcba,match(a1,{0,60,70,80,90,100}),1)
match函数的作用是查询某个内容在一行或一列中的位置。
本例中match函数使用a1单元格的内容作为查询值,在第二参数{0,60,70,80,90,100}中用近似匹配的方式查找a1所处的位置,返回的结果用作mid函数的第二参数。
mid 函数在文本字符串”fedcba”中截取字符串,截取的指定开始位置,就是由match函数计算出的结果,截取的字符串长度为1。
这个公式相对比较复杂一些,看不懂的小伙伴们也不必纠结,先简单做个了解就好。
相关学习推荐:excel教程
以上就是excel实例详解实现多区间判断的详细内容。