IF函数虽然简单好用,但是如果条件多了,写起来非常的麻烦,而且容易出错,后期也不好维护。如果嵌套次数超过3次,建议选用其他函数替代,例如IFS函数,或Choose函数。
一、需求分析及实现方法。
目的:将对应的成绩标记处“满分”、“优秀”、“良好”、“较好”、“及格”、“不及格”6个等次。
方法:
在目标单元格中输入公式:=IF(D3=100,"满分",IF(D3>=95,"优秀",IF(D3>=85,"良好",IF(D3>=70,"较好",IF(D3>=60,"及格","不及格")))))。
解读:
1、此公式的用法为典型的IF函数嵌套法,如果嵌套循环非常的繁多,则公式较长,维护起来也比较麻烦,而且容易出错。
2、当嵌套循环超过3层的,建议用其他函数公式替代IF函数,例如用IFS或Choose函数。
3、用If函数嵌套循环时,只能从大到小依次判断,否则会出错哦!
二、Choose函数功能及语法结构。
功能:根据指定的索引值,从参数中选出相应的值或操作。
语法结构:=Choose(索引值,数据1,数据2,……数据N)。
1、基础用法。
我们先来看看公式=CHOOSE(H3,"IF函数","CHOOSE函数","IFS函数","Excel函数公式","Excel实用技巧")和=CHOOSE(H4,"IF函数","CHOOSE函数","IFS函数","Excel函数公式","Excel实用技巧")的返回的结果。
从执行结果中我们可以分析出,Choose函数的索引值为“向下取整”。而这一特点正好符合我们划分等级时的要求。
2、用Choose函数实现等级判定。
方法:
在目标单元格中输入公式:=CHOOSE(MATCH(D3,$H$3:$H$8),I$3,I$4,I$5,I$6,I$7,I$8)。
解读:
先用Match函数定位当前值在等级分值中所处的位置,然后用Choose返回返回对应的等级名称。
三、IFS函数等级判定。
功能:检查是否满足一个或多个条件并返回与第一个True条件对应的值。
语法结构:=IFS(条件判断1,返回,1,条件判断2,
返回值2……条件判断N,返回值N)。
方法:
在目标单元格中输入公式:=IFS(D3=100,"满分",D3>=95,"优秀",D3>=85,"良好",D3>=70,"较好",D3>=60,"及格",D3<60,"不及格")。
结束语:
IF函数时我们常用的条件判定函数,但是当条件较多时,其弊端也显而易见,这时我们就可以用Choose函数和Ifs函数来替代IF函数,完成多条件判定工作。