excel中if函数的多层嵌套

已知H1+I1=J1,K1+L1=M1,要求在另一个单元格中得出的结果如下:
如果K1和L1均为0,则N1单元格取J1;如果0<K1<H1且L1=0,则N1单元格=K1-H1+I1;如果K1>H1且L1=0,则N1单元格=K1+I1;如果0<L1<I1且K1=0,则N1单元格=L1-I1+K1;如果L1>I1且K1=0,则N1单元格=L1+H1;如果K1>0且L1>0,则N1单元格=K1+L1
谢谢大神

亲,完全按照你文字描述写的,逻辑性对不对就没做判断了:

=IF(AND(K1=0,L1=0),J1,IF(AND(H1>K1,K1>0,L1=0),K1-H1+I1,IF(AND(K1>H1,L1=0),K1+I1,IF(AND(I1>L1,L1>0,K1=0),L1-I1+K1,IF(AND(L1>I1,K1=0),L1+H1,IF(AND(K1>0,L1>0),K1+L1,""))))))

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-01-13
N1单元格写入公式
=IF(AND(K1=0,L1=0),J1,IF(AND(K1>0,K1<H1,L1=0),K1-H1+I1,IF(AND(K1>H1,L1=0),K1+I1,IF(AND(L1>0,L1<I1,K1=0),L1-I1+K1,IF(AND(L1>I1,K1=0),L1+H1,IF(AND(K1>0,L1>0),K1+L1,""))))))本回答被提问者采纳
第2个回答  2015-03-19
=if(and(k1=0,l1=0),j1,if(and(k1>0,k1<h1),k1-h1+i1,if(and(k1>h1,L1=0),k1+i1,if(and(L1>0,L1<i1,K1=0),L1-I1+K1,IF(AND(L1>I1,K1=0),L1+H1,IF(AND(K1>0,L1>0),K1+L1,"")))))
好用请采纳
第3个回答  2018-12-03

举例:比如说,我们需要对成绩进行评级。大于等于80分的评为“A”,大于等于70分小于80分评为“B”,大于等于60分小于70分的评为“C”,小于60分的评为“D”。

步骤如下:

1、下面我们开始写函数 =IF(A1>=80,“A”,……)也就是当A2大于等于80时,得到“A”。如果A2不满足大于等于80,根据评级标准,那么会有三种可能:

a.大于等于70小于80,b.大于等于60小于70,c.小于60,这三种情况。

2、我们将第一种情况用IF函数嵌套在上述表达式中 =IF(A2>=80,"A",IF(A2>=70,"B",……)),这样就完成了。

3、同理我们将第二种情况用IF函数继续嵌套,那么表达式变成了 IF(A2>=80,"A",IF(A2>=70,"B",IF(A2>=60,"C",……)))

那么省下的情况就是小于60了,评级为“D”所以表达式最终为IF(A2>=80,"A",IF(A2>=70,"B",IF(A2>=60,"C","D")))。

4、AND函数

如果你熟悉AND函数的应用,那么我们使用AND函数就相对好理解一些,因为AND函数就上述的三种可能表达的更加清楚。见图:


相似回答