公式应该简单

时间:2017-08-18 10:23:44

标签: excel sum

我是Excel的新手,我无法找到问题的确切答案。

基本上我想得到图片1(https://i.stack.imgur.com/8E5zv.png)来做什么图片2(https://i.stack.imgur.com/LXJhq.png )正在显示。这可能是一个非常简单的问题。

因此,任何超过10,000的价值将以25便士的价格收取,任何低于10,000的价值将按40便士的价格收费。

累积起来,一个人可能已经声称自开始以来已经行驶了9999英里并且他们提出了10英里的新费用索赔,我希望1英里能够达到40p的速率而另外9个能够达到25p的速率。

我需要什么样的公式?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果之前的累积里程由Old表示,Miles的额外里程和Thold支付较低费率的阈值则考虑以下内容。有3例:

  1. Old+Miles<=Thold:所有Miles以较高的费率付款
  2. Old<Thold<=Old+MilesMiles拆分,以便Thold-Old以更高的费率付费,Miles-(Thold-Old)以更低的费率付费
  3. Thold<=Old:所有Miles以较低的费率付款。
  4. 每当Miles小于Old时,

    Thold按较高费率付费,而较高费率支付的里程数是Miles中的较小者(案例1) 。)和Thold-Old(案例2)。这可以用类似Excel的方式表示为

    `=IF(Thold-Old>0,IF(Miles<Thold-Old,Miles, Thold-Old),0)`
    

    但更简洁的表达是

    `=MIN(Miles,MAX(Thold-Old,0))`
    

    这两个公式在所有3个案例中都提供了正确的结果(包括案例3的值为零),因此每个公式代表了一个普遍适用的公式,表示以更高的费率支付的里程数。

    同样,只要Old+Miles超过Thold,则以较低的费率支付里程,而按此费率支付的数字是Miles(案例3)和{{1}的较小者(案例2)。在这种情况下,Miles-(Thold-Old)表达式为:

    IF

    但这可以等同地写为

    `=IF(Old+Miles>Thold,IF(Miles<Miles-(Thold-Old),Miles,Miles-(Thold-Old)),0)
    

    我会留下它作为练习来制作简洁版本。公式(e)为案例1提供了0的结果。因此通常适用于计算以较低费率支付的里程。