关于MAX / IF语句的Excel查询

时间:2015-05-15 21:44:13

标签: excel if-statement

我希望这是一个简单,可行的问题,但话虽如此,我还是无法弄明白。

如何更改以下代码,如果F5为0,则单元格将显示0?在所有其他情况下,它应显示最小值“43”。

代码的后半部分有效;即:显示的最小值为43,但是,我不知道如何更改它,以便如果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)

非常感谢!

3 个答案:

答案 0 :(得分:1)

常规如果Excel中的条件是

getCustomers()
  .then((cust) => { console.log(cust); return cust; })
  .then(getOrders)
  .then((orders) => …)

所以,如果你从

开始,我想你会得到所需的答案
=IF(F5=0,0,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),
IF(F5=0,0,0)))))))))),43)

答案 2 :(得分:0)

两个想法:无论你在哪里 F5&lt; = 0 ,它应该是 F5 <0 ,因为你想要 F5 = 0 特别的事。而且,这很难在单元格中查看,因为它嵌套了很多层次。您可以考虑使用UDF:

Function getNum(F5 as Single, C5 as Single) as Single

  'Start with initial value of 43
  getNum = 43

  'Change return value to zero if F5 is zero
  If F5 = 0 Then
    getNum = 0
  'Otherwise add some more, depending on inputs
  ElseIf F5 < 0 Then
    getNum = getNum + 39
  ElseIf F5 > 30 Then
    getNum = getNum + C5*0.08
  ElseIf F5 > 20 Then
    getNum = getNum + C5*0.07
  ElseIf F5 > 10 Then
    getNum = getNum + C5*0.06
  ElseIf F5 > 5 Then
    getNum = getNum + C5*0.05
  ElseIf F5 > 2 Then
    getNum = getNum + C5*0.04
  ElseIf F5 > 1 Then
    getNum = getNum + C5*0.03
  ElseIf F5 > 0.25 Then
    getNum = getNum + C5*0.02
  ElseIf F5 > 0 Then
    getNum = getNum + C5*F5*0.03
  End If

End Function

将其放入模块中,然后使用 = getNum(F5,C5)

在单元格中调用它

我没有对它进行过测试,因此它可能不完全正确,但您可以看到比一堆嵌套的IF更容易理解。