excel中IF函数问题,当C小于20时,A分别等于1,2,3,4,5,6时,求值(A+C)*2,当C大于20时,详见补充

当C小于20时,A分别等于1,2,3,4,5,6时,求值(A+C)*2,
当C不小于20时,A分别等于1,2,3,4,5,6时,求值(A*C)*9

我写好之后,

IF(C<20,

(IF(A=1,(A+C)*2,
IF(A=2,(A+C)*2,
IF(A=3,(A+C)*2,
IF(A=4,(A+C)*2,
IF(A=5,(A+C)*2,
IF(A=6,(A+C)*2)))))),

(IF(A=1,(A*C)*9,
IF(A=2,(A*C)*9,
IF(A=3,(A*C)*9,
IF(A=4,(A*C)*9,
IF(A=5,(A*C)*9,
IF(A=6,(A*C)*9))))))

)

结果是您已为此函数输入太多个参数,可能是IF只能嵌套7层吧,那么,请问怎么解决呢。或者可以改用别的函数吗

设你的数据分别是在A1,C1,在你需要得到结果的单元格输入以下公式=IF(AND(C1<20,OR(A1={1,2,3,4,5,6})),(A1+C1)*2,IF(AND(C1>=20,OR(A1={1,2,3,4,5,6})),(A1+C1)*9,""))追问

只对了一半啊,求改错

追答

那你要什么结果?我按你的要求写的公式,你能举例说下哪里错了吗?
哦,不好意思,看错了,后面是乘法,请改成以下公式=IF(AND(C1=20,OR(A1={1,2,3,4,5,6})),(A1*C1)*9,""))

追问

不是这个错误,是 当C1小于20时,结果对,当大于等于20时结果就错了,也是按小于算的,不知道怎么回事

追答

不会吧,我这里测试都很正常啊,你下载下面的示例看看

追问

你的语句怎么变成这样了啊
=IF(AND(C1=1,A1=20,A1>=1,A1<=6),(A1*C1)*9,""))

追答

哦哦,不好意思,刚才从这里复制公式时复制错地方了,现在看这个附件,另外提醒一下,公式是按C1大于或者等于20计算的,别弄成A1了哟

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-01
=IF(AND(C1<20,A1>=1,A1<=6),(A1+C1)*2,IF(AND(C1>20,A1>=1,A1<=6),(A1*C1)*9,""))
如果1,2,3,4,5,6必须是整数就用
=IF(AND(C2<20,OR(A2=1,A2=2,A2=3,A2=4,A2=5,A2=6)),(A2+C2)*2,IF(AND(C2>20,OR(A2=1,A2=2,A2=3,A2=4,A2=5,A2=6)),(A2*C2)*9,""))
第2个回答  2013-06-01
D1=IF((C1<20)*((A1=1)+(A1=2)+(A1=3)+(A1=4)+(A1=5)+(A1=6))*(A1+C1)*2+(C1>=20)*((A1=1)+(A1=2)+(A1=3)+(A1=4)+(A1=5)+(A1=6))*(A1*C1)*9=0,"",(C1<20)*((A1=1)+(A1=2)+(A1=3)+(A1=4)+(A1=5)+(A1=6))*(A1+C1)*2+(C1>=20)*((A1=1)+(A1=2)+(A1=3)+(A1=4)+(A1=5)+(A1=6))*(A1*C1)*9)
第3个回答  2013-06-01
=IF(ISNA(MATCH(A1,{1,2,3,4,5,6})),"None",IF(C1<20,(A1+C1)*2,(A1*C1)*9))
相似回答