if三个以上条件判断(if公式多个条件怎么编)
IF公式多嵌套老用错?记住口诀,大大小小!
职场工作中,IF公式多条件嵌套经常要用,举个例子,下面是公司的一个提成奖励方案,根据不同的业务量,进行不同的奖励标准,我们需要计算出每个员工的奖励是多少
我们需要使用多个IF公式进行嵌套解决,唯一需要注意的一点,就是我们用的判断条件是大于号,还是小于号,如果我们用的是大于号,那么则需要从大到小进行判断,如果我们用的是小于号,则需要从小到大进行判断,总结口诀就是大大小小
IF多嵌套+大于号如果我们用的是大于号来判断,那么判断值也必须从大到小进行书写,我们输入的第一层是:
=IF(C2>100%,600+B2*0.08%*10000,"再判断")
然后再判断里面,继续输入IF公式,持续判断得继续用大于号,得到最后的输入结果:
=IF(C2>100%,600+B2*0.08%*10000,IF(C2>50%,500+B2*10000*0.05%,IF(C2>30%,500,0)))
以上就是IF和大于号搭配使用的,我们大于号后面跟着的数据也会是从大到小排列的,依次是100,50,30,如下所示:
=IF(C2>100%,A,IF(C2>50%,B,IF(C2>30%,C,"")))
经常有小伙伴会写错,用的是大于号,然后后面跟着的数值是30%,50%,100%,从小到大,就是错误写法了:
IF(C2>30%,C,IF(C2>50%,B,IF(C2>100%,A,"")))
IF公式+小于号当然基于上述的条件,我们也可以用IF函数公式+小于号来进行判断,得到我们想要的结果,那就要需要从小到大来进行书写,我们输入的公式是:
=IF(C2<30%,0,IF(C2<50%,500,IF(C2<100%,600+B2*1000*0.05%,600+B2*10000*0.08%)))
关于今天这个小技巧,你学会了么,自己动手试试吧!
这么复杂的条件判断,你竟还在用IF函数?
IF 函数是大家较为熟知,也是日常工作中使用频率较高的函数之一,它通常适合用来进行一些简单的条件判断,并返回相应的结果,其语法如下:
=IF(判断条件, 满足判断条件时返回的值, 不满足判断条件返回的值)
比如:老板限定每月办公耗材费预算是 5000 元,我们需要在 D 列单元判断每月的费用是否超预算,可以在 D2 单元格写出以下公式:
=IF(C2>5000,\"超预算\",\"未超预算\")
又比如,我们需要在 D 列单元格判断学生的考试成绩是否及格(及格标准通常为:大于等于 60 分),我们可以在 D11 单元格写出以下公式:
=IF(C11>=60,\"及格\",\"不及格\")
以上的两个例子有一个共同点:判断条件比较简单,只有一个判别依据,要么成立,要么就不成立。
如果判断条件增多,逻辑关系更加复杂时,可以借助多个IF函数嵌套使用的方式来组织公式,但此时写出的公式会显得冗长、繁琐且不便于编辑。
还是以学生成绩为例,现在我们要根据成绩划分等级:小于 60 分的为 E,60-70 分(包括 60,下同)为 D,70-80 分为 C,80-90 为 B,90 以上为 A。这种情况下的 IF 公式可能是这样的:
=IF(D2>=90,\"A\",IF(D2>=80,\"B\",IF(D2>=70,\"C\",IF(D2>=60,\"D\",\"E\"))))
这个公式嵌套使用了四个 IF 函数,才将五种可能情况的判断全部包含在内,这个公式显然就比较复杂,无论是写出来还是检查,都很麻烦。因此我们通常认为 IF 函数只适合用来进行一些简单的条件判断。
那么像这种复杂的条件判断,更好的解决方案是什么呢?
- 1 -
解决思路
❶ 条件列表
我们把所有的条件以及对应的取值,列成一张表,这样可以清晰明了地知道两者间的关系,也更为直观:
❷ 观察分析
将判断条件列成表以后,我们就很容易发现它们之间都有一个共同特征:每一个取值(本例为等级)都对应着一个数字区间,这些数字区间包含了分数的所有可能取值;并且这个数字区间有一个很显著的特点:大于等于较小的数,小于较大的数(最后一个最大的数(本例为 90),只要大于等于就行)。
这种情况下,我们就能用 VLOOKUP 函数来替代 IF 函数。
常见的 VLOOKUP 函数有两种用法,一种是精确查找,比如通过姓名查找相对应的成绩,这种用法叫 VLOOKUP 的精确查找模式,大家注意到它的第四个参数为 0,在这种模式下,如果查找的姓名存在,则返回相应的分数,如果要查找的姓名不存在,则返回错误值 #N/A。
另一种是区间查找(近似查找),用于判断数字是否落在某个特定的区间。如图所示,这种类型的第四个参数为 1,表示查找的是近似值。以 E3 单元格中的公式为例:
=VLOOKUP(D3,$G$2:$H$6,2,1)
这个公式表示要在 $G$2:$H$6 中查找分数 64,并取得对应的等级,可是 $G$2:$G$6 中并没有 64,但是函数却依旧能取得其对应的等级为 D。这种方式就是 VLOOKUP 函数的区间查询方式。
❸ 建立辅助匹配表
本案例中,我们需要利用 VLOOKUP 函数的区间查询功能来实现目标。这就需要建立一个辅助匹配表,来对分数进行近似匹配,从而得到相应的等级。
辅助表的制作并不难,以上图为例,只要将「分数区间」列中的临界数字,填到「分数临界点」单元格里,再把对应的等级复制过去即可。
- 2 -
解决方案
到此,利用 VLOOKUP 函数解决多条件判断问题的基础工作已经完成。现在就可用 VLOOKUP 函数来查找分数对应的等级了,函数公式如下:
=VLOOKUP(D2,$G$2:$H$6,2,1)
公式中有四个参数,分别的含义如下:
第 1 参数:D2 表示所要查找的分数所在的单元格
第 2 参数:$G$2:$H$6 就是我们刚才建立的辅助匹配表(注意:一定要绝对引用!)
第 3 参数:「2」表示我们要取得的对应的等级,在我们辅助匹配区域的第二列
第 4 参数:「1」这里必须是 1(当 VLOOKUP 的第四个参数为 1 时,表示近似查询模式)
大家都学会吗?以后遇到物流根据重量来计算运费、根据消费额度多少来算折扣、根据充值额度多少来定会员等级等等此类多条件判断问题,你还要 IF、 IF、IF 下去吗?
当然,以上说的只是一种较常见的情况,大家如果工作中遇到其他的IF令人头大的问题,也可以在评论区交流哟!
从入门到高阶,千字讲解IF函数使用技巧,多条件判断+多层嵌套
IF函数是Excel高频使用函数之一,功能强大且实用,是Excel中不得不会的一个函数。
今天我们就用一篇文章来详细的了解IF函数的前生今世。
IF函数功能:判断是否满足一个条件,如果满足返回一个值,如果不满足,返回另外一个值;
语法:IF(判断条件,条件成立返回值,条件不成立返回值)
IF函数一共三个参数,参数一为判断条件,如果条件为真返回参数二,条件为假则返回参数三;可以看出函数的重点在于条件一、判断条件的输入。
基本用法举个例子,公式:=IF(2>1,"2大于1","2不大于1")
返回“2大于1”,判断条件为“2>1”,2当然大于1,也就是说判断条件为真,返回参数2。
在Excel中IF函数基本用法为单个条件的判断,下图中通过IF函数判断A列分数是否为优秀,大于90则为优秀,否则为一般。
大家可以发现,IF函数的参数二与参数三,如果内容中含有中文的话,需用打上英文状态下的双引号。
多条件判断IF函数单条件判断比较基础,在日常工作中更多的是多条件判断,这里需要与AND和OR函数结合使用。
如下图中,如果要判断是否为三好学生,需要同时判断语文和数学成绩,这样就涉及到了2个单元格的判断。
IF+AND用法:
这时我们可以用AND函数将两个条件合并写入,每个条件之间用一个英文状态下的逗号隔开,如果还有其它条件需要同时满足的话,可以继续添加进去。
IF+OR用法:
如果多条件中只需要满足一个条件,我们可以用OR函数将多条件合并写入参数一。
IF+AND+OR用法:
针对复杂情况,也可以混合使用。如下图中利用IF函数判断是否三好学生:
语文和数学成绩都大于90分、或者总分大于180分,则为三好学生。
IF+OR+{}用法:
另外还存在一种多条件用法,如下图中判断城市等级,如果城市属于北京、上海、深圳、广州则为一线城市,否则为非一线。
这里我们利用花括号{}构建一个集合,只要A列城市等于集合中任何一个城市则返回一线城市,这里的OR函数起到了或的作用。
小结:AND翻译为“和”、OR翻译为“或”,灵活运用,可满足多场景下的多条件判断。
IF函数的经典嵌套说到IF函数,就不可避免的涉及到IF函数的嵌套问题。
在Excel2003版最多可以嵌套7层,之后的版本最多可以嵌套64层。
一层嵌套中,红色部分是一个完整的IF函数,组成了第一个IF函数的第三个参数;
二层嵌套中,红色部分+蓝色部分组成第一个IF函数的第三个参数,红色部分组成了第二个IF函数的参数三。
嵌套函数的执行顺序:
这里我们以嵌套三个IF函数为原型,讲解嵌套函数的执行顺序。
只需记住一点:从前往后,依次判断条件,条件满足则返回该条件后面的参数二,直至所有条件判断完,还不满足,返回最后一个IF函数的参数三。
下图中先判断“成绩”是否大于90,如果条件为真(大于90),则返回“90分以上”,如果条件为假,则执行第二个IF函数....依次类推。
IF函数的{0,1}用法除以上功能之外,IF函数还经常搭配其它函数使用,其中经典用法之一就是VLOOKUP函数的逆向查找。
下图中,通过A-B列的数据匹配D列人员的成绩,VLOOKUP正常用法是无法实现的,因为VLOOKUP的参数二(搜索区域)的首列必须是姓名列,而下列的数据源姓名列位于成绩列后方。
这里我们通过公式:IF({1,0},B:B,A:A),,构建了VLOOKUP参数二,公式可以理解为:
IF(1,B:B,A:A)+IF(0,B:B,A:A)
前者返回B列、后者返回A列,两者组成数组B:A,从而将姓名列前置,完成数据的匹配。
小结只能全面了解一个函数的功能,才能在工作中的各种场景熟练调用,达到事半功倍的效果。
以上就是IF函数的详细介绍,希望对你有所帮助,我们下期再见~
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送至邮件举报,一经查实,本站将立刻删除。转载务必注明出处:http://www.hixs.net/article/20231224/169625475185360.html