【问题标题】:If statement VBA Excel 2010如果语句 VBA Excel 2010
【发布时间】:2011-07-22 14:29:18
【问题描述】:

好的,我正在使用 if 语句计算费率


$2 千瓦时 +
0. 前 150 kWh/kW @ $0.4

  1. 接下来 150 kWh/kW @ $0.25

  2. 接下来 150 kWh/kW @ $0.10

  3. 额外千瓦时 @ 0.05 美元


我想要三行

  • kWh - 使用 (kWuse - 50kW、160kW、305kW、500kW、

  • kWh - 价格 (kWprice

  • kWh - 成本 (kWcost

使用将是他们使用多少千瓦。价格将是 IF 语句。而成本将是两者的计算。

但我需要的只是 Price if 语句。

谢谢,

【问题讨论】:

  • 这是 VLookup 的典型用途,我怀疑它会比 VBA 更快。

标签: vba excel if-statement excel-2010


【解决方案1】:

你的意思是这样的吗?

Dim Price as Double
If kwPrice < 150 Then 
    Price = 0.4
ElseIf kwPrice >= 150 And kwPrice <= 300 Then
    Price = 0.25
ElseIf kwPrice > 300 Then
    Price = 0.1
Else
    Price = 0.05
End If

希望这能让你开始。

【讨论】:

    【解决方案2】:

    假设您的意思是有 2 美元的基本费用 + 千瓦时费率(4 个定价 teirs),那么这里有一个函数,如果您给它使用量,它会给您成本。由于费率固定为 3 层,您已经知道 150、300 和 450 kWh 的成本是多少,所以我在我的函数中使用了它。

    有了这个,您只需要 2 列。用法和价格(这个公式)。

    Function GetCost(ByVal usage As Double) As Double
    
    ' $2 kWh base +
    'First 150 kWh per kW @ $0.4
    'Next 150 kWh per kW @ $0.25
    'Next 150 kWh per kW @ $0.10
    'Additional kWh @ $0.05
    
    If usage > 450 Then
        GetCost = 114.5 + ((usage - 450) * 0.05)
    ElseIf usage > 300 Then
        GetCost = 99.5 + ((usage - 300) * 0.1)
    ElseIf usage > 150 Then
        GetCost = 62 + ((usage - 150) * 0.25)
    Else
        GetCost = 2 + (usage * 0.4)
    End If
    
    End Function
    

    【讨论】:

    • 请让我知道这是否有效或您希望如何调整。
    猜你喜欢
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 2016-04-18
    • 1970-01-01
    • 2021-09-10
    相关资源
    最近更新 更多