我正在尝试整理一个公式,用于计算从 AWS 区域到互联网的出站费用。它不需要实时更新,因此基本上只是一种分层定价模型。
我发现了一个论坛帖子建议SUMPRODUCT
在 excel 中尝试该函数,我试了一下,但得到的结果与定价计算器。
我尝试建模的公式是:
+----------------------------------------------+---------------+ | 数据从 Amazon EC2 传出到互联网 | | +----------------------------------------------+---------------+ | 每月最多 1 GB | 每 GB 0.00 美元 | | 接下来的 9.999 TB / 月 | 每 GB 0.09 美元 | | 接下来的 40 TB / 月 | 每 GB 0.085 美元 | | 接下来的 100 TB / 月 | 每 GB 0.07 美元 | | 每月超过 150 TB | 每 GB 0.05 美元 | +----------------------------------------------+---------------+
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 GB(8.22031e+14 字节),我的公式得出的结果为 $63,742.09058,其中简单的月度计算器结果为 44,992.66 美元;这是一个相当大的差异。
有没有更简单的方法在 Excel 中模拟此定价方案?
有人能发现我的逻辑错误吗SUMPRODUCT
?
答案1
现在我决定采用这个公式:
=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 美元的预期结果。