簡體   English   中英

想根據勝場數,場數,然后積分對每個session的球員進行排名

[英]Want to rank players for each session based on number of wins, games, and then points

我想為每個 session 自動決定誰是第一、第二、第三和第四。我希望首先根據比賽獲勝的次數來決定,如果比賽相等則比賽獲勝,如果比賽相等則得分。 如果一切都相同,則讓 2 名球員與 position 相同,並跳過下一名球員(第 1、2、2 和 4)。 突出顯示的單元格是我要計算的地方。 有人可以幫我嗎?

示例文件: https://docs.google.com/spreadsheets/d/1Ry3BAqXF4Di5lHGlY_roDyzQz7FmTaP1XvhO6Psm4sU/edit#gid=0

我在網上找了一些東西,但沒能找到 3 列的公式。

我不認為有一個確切的公式。 顯然 SORT 或 SORTN 會正確地對它們進行排序,但不會返回相等的排名。 我想到的是 MAP 對每一列的值進行排名並求和,但是“權重”不同。 *100 到第一個,*10 到第二個,*1 到第三個:

=MAP(B2:B5, C2:C5, D2:D5, LAMBDA(a,b,c,RANK(a,B2:B5)*100+RANK(b,C2:C5)*10+RANK(c,D2:D5)*1))

返回如下內容:

在此處輸入圖像描述

然后將其包裹在LAMBDA中,作為新的RANKING來源,並借助BYROW進行計算。 但是現在排名需要倒序進行。 較大的值將等於排名底部的值,反之亦然。 這就是RANK(e,r,0)中的 0 的原因:

=LAMBDA(r,BYROW(r,LAMBDA(e,RANK(e,r,0))))(MAP(B2:B5, C2:C5, D2:D5, LAMBDA(a,b,c,RANK(a,B2:B5)*100+RANK(b,C2:C5)*10+RANK(c,D2:D5)*1)))

![在此處輸入圖片描述

讓我知道!

注意:在 9 個玩家之前,這會很好用,如果您或其他任何人需要更多,您應該更改 100,10,1,將玩家數量 + 1 提升到類別的“優先級”。 第一個最高。 例如,對於 15 個玩家,我會將第一個排名乘以:16^3、16^2 和 16^1。 對於 20 個玩家和 4 個類別:21^4,21^3,21^2,21^1 - 希望通用化是明確的!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM