Я пытаюсь составить формулу, которая будет рассчитывать стоимость выхода из региона AWS в Интернет. Это не должно обновляться в реальном времени, так что это просто многоуровневая модель ценообразования.

Я нашел сообщение на форуме, в котором предлагалось попробовать функцию SUMPRODUCT в Excel, и я попробовал это сделать, но результаты калькулятора цен меняются.

Формула, которую я пытаюсь смоделировать:

+-----------------------------------------------+---------------+
| Data Transfer OUT From Amazon EC2 To Internet |               |
+-----------------------------------------------+---------------+
| Up to 1 GB / Month                            | $0.00 per GB  |
| Next 9.999 TB / Month                         | $0.09 per GB  |
| Next 40 TB / Month                            | $0.085 per GB |
| Next 100 TB / Month                           | $0.07 per GB  |
| Greater than 150 TB / Month                   | $0.05 per GB  |
+-----------------------------------------------+---------------+

Формула SUMPRODUCT я пробовал до сих пор:

=SUMPRODUCT(--(H2>{0,1000000000,10000000000000,410000000000000,1410000000000000,2910000000000000}),--(H2-{0,1000000000,10000000000000,410000000000000,1410000000000000,2910000000000000}),{0,0.00000000009,-0.000000000005,-0.000000000015,-0.00000000002,-0.00000000002})

Где ячейка H2 содержит количество байтов , выводимых.

Однако это сообщает о неверном результате для больших значений. Например, при вводе 822031 ГБ (8,22031e+14 байт) моя формула дает результат в 63 742,09058 долларов США, тогда как простой ежемесячный калькулятор дает результат в размере 44 992,66 доллара США; что довольно значительная разница.

Есть ли более простой способ смоделировать эту схему ценообразования в Excel?
Кто-нибудь может обнаружить ошибку в моей логике SUMPRODUCT ?

1 ответ1

0

На данный момент я решил пойти с этой формулой:

=IF(L4>1000000000,
  IF(L4>10000000000000,
    IF(L4>50000000000000,
      IF(L4>150000000000000,
        SUM((L4-(1000000000+9999000000000+40000000000000+10000000000000))*.00000000005, 10000000000000*.00000000007, 40000000000000*.000000000085, 9999000000000*.00000000009),
        SUM((L4-(1000000000+9999000000000+40000000000000))*.00000000007, 40000000000000*.000000000085, 9999000000000*.00000000009)
      ),
      SUM((L4-(1000000000+9999000000000))*.000000000085, 9999000000000*.00000000009)
    ),
    (L4-1000000000)*.00000000009
  ),
  0
)

Это все еще не дает мне те же самые числа как простой ежемесячный калькулятор, но это намного ближе. Используя эту формулу с 8.22031e+14 в качестве входных данных, я получаю $ 43 101,46, что намного ближе к ожидаемому результату в $ 44 992,66.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .