【问题标题】:Using ranked results to perform calculation使用排名结果进行计算
【发布时间】:2015-01-16 13:21:57
【问题描述】:

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

B 列 - 用作根据排名计算增益的输入值
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%

【问题讨论】:

    标签: excel excel-formula vba


    【解决方案1】:

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

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

    要创建数组公式,请将公式插入不带大括号的单元格中,然后按 [Ctrl]+[Shift]+[Enter]。大括号会自动出现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      相关资源
      最近更新 更多