0

我正在设置一个允许您输入值的 excel 文件,然后它将为每个值提供 1 到 5 的排名,然后根据一组加权值比较所有值。

这是我正在努力解决的一个业务问题,因为我需要设计一个排名系统,该系统需要考虑所有因素来决定我想做的哪个选项是最好的。

但是,某些因素需要对 IF 函数进行不同的排列。因为对于某些列,值越高=排名越低,反之亦然。

我已经设定了每个因素排名 1 到 5 的标准。

示例:潜在客户数量越多,排名越高。每次转化费用越高,排名越低。等等。下面是我制作的代码示例:每列都不同(我将提供文件链接)

=IF(D7<1," ",IF(D7<=500,"1",IF(D7<=2500,"2",IF(D7<=3750,"3",IF(D7<=5000,"4",IF(D7>5000,"5"))))))

=IF(E7<1," ",IF(E7<=250,"1",IF(E7<=499,"2",IF(E7<=999,"3",IF(E7<=2500,"4",IF(E7>2500,"5"))))))

=IF(F7>7,"1",IF(F7>5,"2",IF(F7>3,"3",IF(F7>1,"4",IF(F7=1,"5",IF(F7<1," "))))))

=IF(G7>29,"1",IF(G7>19,"2",IF(G7>9,"3",IF(G7>4,"4",IF(G7>0.1,"5",IF(G7=0," "))))))

=IF(H7<1," ",IF(H7<=500000,"1",IF(H7<=1200000,"2",IF(H7<=2500000,"3",IF(H7<=4000000,"4",IF(H7>4000000,"5"))))))

所以现在我们有一个新表,其中包括所有排名 1 到 5。但是,我没有(或必须)以某种方式将加权因子放入方程中以考虑权重(因为这真的会影响最终的排名结果) .

这是我最挣扎的部分,我找不到以某种方式考虑加权值以给出总体值的函数。

提前感谢任何能够帮助我的人。

这就是现在的样子

4

2 回答 2

0

删除L5:S9范围内的所有内容

将其粘贴到L5单元格中:

=ARRAYFORMULA({L3*
 IF(D5:D9< 1, ,
 IF(D5:D9<=500,  1,
 IF(D5:D9<=2500, 2,
 IF(D5:D9<=3750, 3,
 IF(D5:D9<=5000, 4,
 IF(D5:D9> 5000, 5)))))),
 M3*
 IF(E5:E9< 1, ,
 IF(E5:E9<=250,  1,
 IF(E5:E9<=499,  2,
 IF(E5:E9<=999,  3,
 IF(E5:E9<=2500, 4,
 IF(E5:E9> 2500, 5)))))), 
 N3*
 IF(F5:F9< 1, ,
 IF(F5:F9> 7, 1,
 IF(F5:F9> 5, 2,
 IF(F5:F9> 3, 3,
 IF(F5:F9> 1, 4,
 IF(F5:F9= 1, 5)))))),
 O3*
 IF(G5:G9= 0, ,
 IF(G5:G9> 29,  1,
 IF(G5:G9> 19,  2,
 IF(G5:G9> 9,   3,
 IF(G5:G9> 4,   4,
 IF(G5:G9> 0.1, 5)))))), 
 P3*
 IF(H5:H9< 1, ,
 IF(H5:H9<=500000,  1,
 IF(H5:H9<=1200000, 2,
 IF(H5:H9<=2500000, 3,
 IF(H5:H9<=4000000, 4,
 IF(H5:H9> 4000000, 5))))))})

将其粘贴到R5单元格中:

=ARRAYFORMULA(L5:L9+M5:M9+N5:N9+O5:O9+P5:P9)

将其粘贴到S5单元格中:

=ARRAYFORMULA(RANK(R5:R9, R5:R9))

0


电子表格演示


或替代方案(如果您不想更改L5:P9范围):

=ARRAYFORMULA({L3*
 IF(D5:D9< 1, ,
 IF(D5:D9<=500,  1,
 IF(D5:D9<=2500, 2,
 IF(D5:D9<=3750, 3,
 IF(D5:D9<=5000, 4,
 IF(D5:D9> 5000, 5))))))+
 M3*
 IF(E5:E9< 1, ,
 IF(E5:E9<=250,  1,
 IF(E5:E9<=499,  2,
 IF(E5:E9<=999,  3,
 IF(E5:E9<=2500, 4,
 IF(E5:E9> 2500, 5))))))+ 
 N3*
 IF(F5:F9< 1, ,
 IF(F5:F9> 7, 1,
 IF(F5:F9> 5, 2,
 IF(F5:F9> 3, 3,
 IF(F5:F9> 1, 4,
 IF(F5:F9= 1, 5))))))+
 O3*
 IF(G5:G9= 0, ,
 IF(G5:G9> 29,  1,
 IF(G5:G9> 19,  2,
 IF(G5:G9> 9,   3,
 IF(G5:G9> 4,   4,
 IF(G5:G9> 0.1, 5))))))+ 
 P3*
 IF(H5:H9< 1, ,
 IF(H5:H9<=500000,  1,
 IF(H5:H9<=1200000, 2,
 IF(H5:H9<=2500000, 3,
 IF(H5:H9<=4000000, 4,
 IF(H5:H9> 4000000, 5))))))})

0

于 2019-08-19T13:50:26.537 回答
0

仅用于排名,您可以在L1单元格中使用:

=ARRAYFORMULA(RANK(D5:D9, D5:D9, 1))

根据D11:H18规则,它看起来像:

0


然后考虑L12:L16中的权重和规则,您将获得每列的分数,例如:

=ARRAYFORMULA(RANK(D5:D9,D5:D9,1)*L3*
 IF(D5:D9< 1, ,
 IF(D5:D9<=500,  1,
 IF(D5:D9<=2500, 2,
 IF(D5:D9<=3750, 3,
 IF(D5:D9<=5000, 4,
 IF(D5:D9> 5000, 5)))))))

0


然后通过对每行的分数求和,您将获得一个总分,您可以将其排名如下:

=ARRAYFORMULA(RANK(R21:R25, R21:R25))

0


电子表格演示

于 2019-08-19T13:05:34.027 回答