关于IF语句的Excel查询

时间:2015-05-14 22:58:31

标签: excel if-statement

我在excel表中有以下公式,通常可以很好地运作:

=IF(F5>=30.01,(39+(C5*0.08)),IF(AND(F5>=20.01,F5<=30),(39+(C5*0.07)),IF(AND(F5>=10.01,F5<=20),(39+(C5*0.06)),IF(AND(F5>=5.01,F5<=10),(39+(C5*0.05)),IF(AND(F5>=2.01,F5<=5),(39+(C5*0.04)),IF(AND(F5>=1.01,F5<=2),(39+(C5*0.03)),IF(AND(F5>=0.25,F5<=1),(39+(C5*0.02)),IF(AND(F5>=0,F5<=0.245),(0.03*C5*F5)))))))))

我只是想知道是否有人可以告诉我如何编辑它,以便如果公式的结果小于&#39;&#39;那么输入到单元格中的数字应该是43?

我一直试图对此进行相应的编辑,我不知道我需要做些什么来实现这一目标。

公式的其余部分完全按照我的需要工作,我只需要工作表不要产生小于43的结果。

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您不需要AND语句,因为嵌套ifs的性质会将它们缩小,这是您修改的当前公式:

=IF(F5>=30.01,(39+(C5*0.08)),IF(F5>=20.01,(39+(C5*0.07)),IF(F5>=10.01,(39+(C5*0.06)),IF(F5>=5.01,(39+(C5*0.05)),IF(F5>=2.01,(39+(C5*0.04)),IF(F5>=1.01,(39+(C5*0.03)),IF(F5>=0.25,(39+(C5*0.02)),IF(F5>=0,(0.03*C5*F5)))))))))

然后你可以将它包装在一个MAX公式中以获得结果或43,以较大者为准:

=MAX(IF(F5>=30.01,(39+(C5*0.08)),IF(F5>=20.01,(39+(C5*0.07)),IF(F5>=10.01,(39+(C5*0.06)),IF(F5>=5.01,(39+(C5*0.05)),IF(F5>=2.01,(39+(C5*0.04)),IF(F5>=1.01,(39+(C5*0.03)),IF(F5>=0.25,(39+(C5*0.02)),IF(F5>=0,(0.03*C5*F5))))))))),43)

答案 1 :(得分:0)

还可以进一步调整公式,以便将公共因子分组如下:

=MAX(SUM(IF(F5<=0,0,39),
IF(F5>30,(C5*0.08),
IF(F5>20,(C5*0.07),
IF(F5>10,(C5*0.06),
IF(F5>5,(C5*0.05),
IF(F5>2,(C5*0.04),
IF(F5>1,(C5*0.03),
IF(F5>=0.25,(C5*0.02),
IF(F5>=0,(0.03*C5*F5),0))))))))),43)

长公式总是难以阅读,我建议使用 Alt + Enter 组合键在同一单元格中开始一个新行,从而在同一单元格中的几行中打破您的公式。

当然,修改后的公式应该是这样的:

=IF(F5=0,0,
MAX(SUM(IF(F5<=0,0,39),
IF(F5>30,(C5*0.08),
IF(F5>20,(C5*0.07),
IF(F5>10,(C5*0.06),
IF(F5>5,(C5*0.05),
IF(F5>2,(C5*0.04),
IF(F5>1,(C5*0.03),
IF(F5>=0.25,(C5*0.02),
IF(F5>=0,(0.03*C5*F5),0))))))))),43))