execl中,IF函数公式超过了7层嵌套,要如何解决?

2025-03-11 05:36:52
推荐回答(5个)
回答1:

超过7层用&连接,一般不建议这样用
分析了下你的条件,前提是B1<10,如下
1. B1<10,A1>=19,C1=5
2. B1<10,A1<19 ,C1=0
3. B1<10, A1的值每大1 C1+0.5
所以公式修改了下
=IF(AND(B1<10,A1>=19),5,IF(AND(B1<10,A1<10),0,IF(B1<10,(A1-10)*0.5+0.5,"")))
如果B1<10不符合,显示空白

回答2:

大家回答的都对 我也有个办法
=IF(B1>=10,0,IF((B1<10)*(A1>=19),5,IF((B1<10)*(A1=18),4.5,IF((B1<10)*(A1=17),4,IF((B1<10)*(A1=16),3.5,IF((B1<10)*(A1=15),3))))))+IF((B1<10)*(A1=14),2.5,IF((B1<10)*(A1=13),2,IF((B1<10)*(A1=12),1.5,IF((B1<10)*(A1=11),1,IF((B1<10)*(A1=10),0.5,0)))))
里面IF 一定不止7个嘿嘿~~楼主 分分给我吧~~~~
其实可以好几个+连接的那样写的方便点
如果数据规律 就不要用IF 象苏姿盐找规律就很好

回答3:

if不好解决,用这个公式

=IF(B1>=10,0,IF(A1>=19,5,IF(A1<10,0,SUMPRODUCT((A1={18;17;16;15;14;13;12;11;10})*{4.5;4;3.5;3;2.5;2;1.5;1;0.5}))))

回答4:

=IF(B1<10,IF(A1<10,0,IF(A1>=19,5,(A1-9)*0.5)),"B1超出范围")

回答5:

=(B1<10)*IF(A1<10,0,(A1-9)*0.5)