Board logo

標題: [發問] A1 *15後B1數值少500,自動轉為500, [打印本頁]

作者: kan109    時間: 2010-6-12 15:21     標題: A1 *15後B1數值少500,自動轉為500,

B1=A1 *15
如B1數值少於500,自動轉為500.
如B1數值大於501-600,自動加10%
如B1數值大於601-1000,自動加15%
如B1數值大於1001-1500,自動加20%

我應該如何輸入??

感謝!!!
作者: Hsieh    時間: 2010-6-12 16:10

B1數值大於1500怎麼算?
作者: kan109    時間: 2010-6-12 16:57

回復 2# Hsieh


    因為A列內的數值是價錢,一般不過再大過100內,所以 X 15後,不會大於1500,+10-20% 只是運費!!

感謝!!!
作者: victorl    時間: 2010-6-12 20:09

自訂函數如何
Function fare(x As Double) As Double
    If x <= 33.33 Then '少於500
        fare = 500
    ElseIf x <= 40 Then '介於501-600
        fare = x * 15 * 1.1
    ElseIf x <= 66.67 Then   '介於601-1000
        fare = x * 15 * 1.15
    Else    '大於1001
        fare = x * 15 * 1.2
    End If
End Function

使用方法:
B1=fare(A1)
作者: Hsieh    時間: 2010-6-12 23:26

B1=MAX(500,A1*15*LOOKUP(A1*15,{0,501,601,1001},{1,1.05,1.15,1.2}))
作者: asimov    時間: 2010-6-13 02:13

本帖最後由 asimov 於 2010-6-13 02:27 編輯
B1=MAX(500,A1*15*LOOKUP(A1*15,{0,501,601,1001},{1,1.05,1.15,1.2}))
Hsieh 發表於 2010-6-12 23:26



Hsieh版主用max妙極了

傳統做法
b1=IF(A1*15<500,500,A1*15*VLOOKUP(A1*15,{501,1.1;601,1.15;1001,1.2},2))
就顯得了無新意了
作者: zz5151353    時間: 2010-6-15 08:01

hsieh 版主方法用的妙

B1

=MAX(500,A1*15*LOOKUP(A1*15,{0,501,601,1001},{0,1.1,1.15,1.2}))




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)