使用排名结果执行计算

时间:2015-01-16 13:21:57

标签: excel excel-vba excel-formula vba

我正在使用excel 2013并具有以下字段:

B列 - 用作根据Rank计算增益的输入值 C列 - 用户键入的等级(1为第一等级)
D栏 - 增益(基于Rank计算的实际值,见下面的公式)

增益的通用公式是B列中值的乘积,受排名输入的影响 例如
if RANK = 1,' 40%'转换为' 100%'和Gain = 100%*50%*0%*20%*90%*10% if RANK = 2,' 50%'转换为' 100%'和Gain = 100%*100%%*0%*20%*90%*10%(以前所有排名中的值都被认为是' 100%')

可以通过公式完成吗?它看起来相当令人生畏,我不确定使用SORT会有所帮助吗?如果可能的话,我试图避免使用VBA,但如果它真的需要,那么它应该是VBA。

Item #  Value   Rank    Gain    How to calculate Gain?
A       90%     5       10%     100%*100%*100%*100%*100%*10% = 10%
B       0%      3       1.8%    100%*100%*100%*20%*90%*10%  = 1.8%
C       40%     1       0%      100%*50%*0%*20%*90%*10% = 0%
D       50%     2       0%      100%*100%*0%*20%*90%*10% = 0%
E       10%     6       100%    100%*100%*100%*100%*100%*100%  = 100%
F       20%     4       9.00%   100%*100%*100%*100%*90%*10%  = 9%

1 个答案:

答案 0 :(得分:3)

将以下公式作为数组公式放入D2并填写。

{=PRODUCT(IF($C$2:$C$7<=C2,100%,$B$2:$B$7))}

要创建数组公式,请在没有大括号的单元格中插入公式,然后按[Ctrl] + [Shift] + [Enter]。然后会自动显示花括号。