如果以前的累計里程由Old
表示,則Miles
的附加里程數和Thold
應支付的較低費率的閾值則考慮以下內容。有3種情況:
Old+Miles<=Thold
:以更高速率
Old<Thold<=Old+Miles
支付的所有Miles
:Miles
分裂,使Thold-Old
在更高的速度和Miles-(Thold-Old)
支付以較低的速度
Thold<=Old
:以較低的速度全部Miles
支付。
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.),因此每一個代表一個通用公式,適用於以更高費率支付的里程數。
同樣,英里是在較低的速率每當Old+Miles
超過Thold
支付,並在該速率支付數是Miles
(情況3)和Miles-(Thold-Old)
(情況2)的較小者。在這種情況下,IF
表達式爲:
`=IF(Old+Miles>Thold,IF(Miles<Miles-(Thold-Old),Miles,Miles-(Thold-Old)),0)
但是這可以等效寫成
`=IF(Old+Miles-Thold>0,IF(Miles<Miles+Old-Thold,Miles, Miles+Old-Thold),0)`
,我會離開它你作爲一個練習,制定出簡潔的版本。公式(e)爲情況1提供了0的結果,因此通常適用於計算以較低費率支付的里程。
來源
2017-08-18 19:36:17
DMM
你可以添加一些代碼來顯示你已經嘗試過嗎? – EFrank
我已經嘗試了許多不同的簡單公式,但似乎無法得到任何工作,我想如何。基本上我想要它做什麼(以圖片爲例),當英里數(49的總和從不同的標籤中拉出)時,我希望它到右側的列,它將在我已經展示的例子中分割。所以我希望44進入頂欄,然後4進入第二欄,如果新的總數低於10,000,我只希望這一切都保持在正確的行中。 –
你可以展示一些你嘗試過的公式嗎? – dwirony