[英]How to give a ranking to rows based on multiple criteria against weighted factors?
我正在設置一個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的新表。但是,我沒有(或必須)以某種方式將加權因子放入等式中以考慮權重(因為這實際上會影響最終的排名結果) 。
這是我最努力的部分,我找不到一個可以以某種方式考慮加權值以給出總體值的函數。
在此先感謝您能為我提供幫助的任何人。
僅在L1單元中可以使用的排名:
=ARRAYFORMULA(RANK(D5:D9, D5:D9, 1))
根據D11:H18規則,它將看起來像:
然后考慮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)))))))
然后通過對每行的分數求和,您將獲得一個主分數,您可以按照以下方式進行排名:
=ARRAYFORMULA(RANK(R21:R25, R21:R25))
刪除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))
或替代方法(如果您不想更改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))))))})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.