Вот код макроса для этого.
Функция MyTax(значение в качестве валюты) в качестве валюты
Переменные установки
Тусклый налог как валюта
«Это будет держать рассчитанный налог через шаги функции
Тусклая сумма в валюте
«Это держит, сколько решается
Сумма = Стоимость
константы установки
Const loRange As Currency = 2200 #
Const MidRange As Currency = 3000 #
Const TopRange As Currency = 5900 #
Const BottomTier As Double = 0 #
Const LoTier As Double = 0,25
Const Midtier As Double = 0,3
Const UpperTier As Double = 0,35
«В примере не было ясно, как установлены значения. вышесказанное отражает
первые 2200 не облагаются налогом, между 2200 и 3000 облагаются налогом по 0,25,
между 3000 и 5900 облагается налогом в размере 30%, а все, что выше, облагается налогом в 35%
НАЛОГ = 0
Первый уровень - это верхний уровень
If Amount> TopRange Тогда
' will need to pay the highest tax and also reduce amount
TAX = (Amount - TopRange) * UpperTier
Amount = TopRange
Конец, если
Тот же общий подход для остальных уровней
Если сумма> MidRange, то
TAX = TAX + ((Amount - MidRange) * Midtier)
Amount = MidRange
Конец, если
повторить для низкого диапазона
Если сумма> loRange, то
НАЛОГ = НАЛОГ + ((Сумма - loRange) * LoTier)
мы сделали, поэтому не нужно корректировать сумму
Конец, если
просто нужно вернуть сумму налога
MyTax = НАЛОГ
Конечная функция