Если заявление VBA Excel 2010 - PullRequest
2 голосов
/ 22 июля 2011

Хорошо, поэтому я рассчитываю ставки с помощью оператора if


$ 2 кВтч +
0. Первые 150 кВтч на кВт @ 0,4

  1. Следующие 150 кВтч на кВт @ 0,25 $

  2. Следующие 150 кВтч на кВт @ 0,10

  3. Дополнительные кВтч @ $ 0,05


Я хочу иметь три строки

  • кВтч - Использование (кВт использования - 50 кВт, 160 кВт, 305 кВт, 500 кВт,

  • кВтч - Цена (кВт * цена

  • кВтч - Стоимость (кВт * стоимость

Использовать будет, сколько киловатт они используют. Цена будет утверждением ЕСЛИ. И стоимость будет расчет двух.

Но все, что мне нужно, - это утверждение «цена, если».

Спасибо

Ответы [ 2 ]

2 голосов
/ 22 июля 2011

Ты имеешь в виду нечто подобное?

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

Надеюсь, это поможет тебе начать.

1 голос
/ 23 июля 2011

Предполагая, что вы имеете в виду, что существует базовая плата в 2 доллара + ставка за кВтч (4 цены), здесь есть функция, которая даст вам стоимость, если вы ее используете.Поскольку тарифы установлены на трех уровнях, вы уже знаете, сколько стоит 150, 300 и 450 кВт-ч, поэтому я использовал это в своей функции.

При этом все, что вам нужно, - это 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
...