excel if函数多重选择嵌套

工作量计算方法:
①如果是硕士生,总人数在15人以内,每人每年按8个工作量计算;总人数超过15人但不超过24人,超过部分每人每年按4个工作量计算;超过24人,超过部分每人每年按2个工作量计算。
②如果是博士生,总人数在6人以内,每人每年按50个工作量计算;总人数超过6人但不超过9人,超过部分每人每年按30个工作量计算;超过9人但不超过15人,超过部分每人每年按20个工作量计算;超过15人,超过部分每人每年按10个工作量计算。

老师布置的作业,急!
2楼的思路是对的,老师就是让我们用三栏表示,但是第5步出来的结果不对,显示为0.不知道什么原因。
3楼的这个语句我也试过,但是出来的结果与自己手算的不一致。好像就是第一个结果是对的,下拉后明显有问题了。。。

方法:

    IF 函数是根据对指定的条件计算结果为 TRUE 或 FALSE,返回不同的结果,语法 IF(logical_test,value_if_true,value_if_false)

    也就是 IF(条件判断是真或是假,条件为真时的值,条件为假时的值),下面来通过一个例子说明。

    如图:通过判断在途货量的数量,来决定是否向工厂要货,这里只有2种可能,即要货,或不要货,就可以通过IF函数来设置。

    =IF(C2>10,"不要货","要货") ,公式判断C列各单元格内的数值是否大于10,如果大于10则显示 不要货,如果不大于10则 显示 要货 。

    注意这里用到的引号,逗号均应在英文状态下输入,如果是在中文状态下输入,则会导致公式错误。


    再来看这个例子,如上图:与第一个例子不同的是在要货的情况下,如果前次要的货量比较少,如少于5台,则显示紧急要货,需要工厂紧急发货,在这种情况下,这个表格就出现三种可能性即:不要货,要货,紧急要货,如果单纯使用IF函数是不能达到这种判断的,幸好IF函数可以嵌套从而解决了这一问题。


     è¿™é‡Œç”¨çš„公式=IF(C2>10,"不要货",IF(C2<5,"紧急要货","要货"))

    解析:公式先对第一个条件进行判断,C2>10,如果大于10则显示第一个逗号后面的 不要货 如果不大于10则 进行下一个IF函数的判断

    在进行第二个条件判断时,它的前提是C2<=10,也就是小于或等于10 ,在这一前提下先判断是否小于5,如真显示紧急要货,在 5<=C2<=10 的情况下才会显示 要货。


    再来看更深层次的嵌套,如上图,共4层嵌套,实际上EXCEL可实现最多64层的嵌套,而现实中我们很少会用到这么多,因为这极易产生麻烦,而且要实际这一功能完全有其它的办法可以达到,如LOOKUP 公式等。

    下面再来说一下IF函数与其它函数的配合使用的高级用法。


    在这里使用的公式:=IF(B2<AVERAGE(B$2:B$8),"补考","过") ,将AVERAGE函数 求平均值 与IF 函数套用,当然除此之外,IF 函数还可以与其它许多函数套用,大家可以自行尝试一下。

    备注:在做条件判断是可以有大于,大于等于,小于,小于等于,等于 ,用符合表示分别为:>,  >=  ,  <   ,    <=   , =

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-06
=IF(A1="硕士生",IF(B1>15,IF(B1>24,(B1-24)*2+15*8+9*4,15*8+(B1-15)*4),8*B1),IF(B1>15,(B1-15)*10+510,IF(B1>9,(B1-9)*20+390,IF(B1>6,(B1-6)*30+300,B1*50))))
第2个回答  2010-06-06
假设A列为学位,B列为人数
C1输入公式
=IF(A1="硕士生",IF(B1<=15,B1*8,IF(B1<=24,(B1-15)*4+15*8,(B1-24)*2+15*8+9*4)),IF(A1="博士生",IF(B1<=6,B1*50,IF(B1<=9,(B1-6)*30+6*50,IF(B1<15,(B1-9)*20+6*50+3*30,(B1-15)*10+6*50+3*30+6*20))),0))
C1公式向下复制
第3个回答  2020-04-28
A
B
C
1
学位
人数
工作量
2
硕士生
给定条件
公式(如下)
a、如果A2=硕士生
=IF(A2="硕士生",IF(B2<=15,B2*8,IF(B2<=24,15*8+(B2-15)*4,IF(B2>24,15*8+(B2-24)*2))))
b、如果A2=博士生
=IF(A2="硕士生",IF(B2<=6,B2*50,IF(B2<=9,6*50+(B2-6)*30,IF(B2<=15,6*50+(B2-6)*20,IF(b2>15,6*50+(B2-6)*10)))))
以上公式是分解,如果把两个公式合并一块,则需要变通,因为IF的嵌套最多为七层,可以按定义名称的方式来实现公式的合并
1、把鼠标放在C2单元格,点击菜单的插入-名称-定义,弹出定义名称对话框
2、在当前工作薄中的名称下输入名称“硕士工作量”
3、在引用位置下输入引用地址=IF(B2<=15,B2*8,IF(B2<=24,15*8+(B2-15)*4,IF(B2>24,15*8+(B2-24)*2))),点击确定
4、重复2、3两项
5、在C2单元格中输入公式:=IF(A2="硕士生",硕士工作量,IF(A2="博士生",博士工作量))
第4个回答  2010-06-07
A1为学位,B1为人数,C1为结果:
C2输入公式
=IF(A2="硕士生",IF(and(B2>0,B2<=15),B2*8,IF(and(B2>15,B2<=24),(B2-15)*4+15*8,(B2-24)*2+15*8+9*4)),IF(A2="博士生",IF(and(B2>0,B1<=6),B2*50,IF(and(B2>6,B1<=9),(B2-6)*30+6*50,IF(and(B2>9,B1<15),(B2-9)*20+6*50+3*30,(B2-15)*10+6*50+3*30+6*20))),0))
前面有些人为什么会错误是这样的,IF在进行计算时以先来先计算原则进行计算,例如一个数为20,它既是>=9,也是>=15,如果先写>=9,再写>=15,那么就计算为>=9;如果先写>=15,再写>=9,那么就计算为>=15,不知你们看的明白不,这点很重要,很多时候一不小心就犯这样的错误,要么就用and语句限死
相似回答