我需要编写一个宏(或其他简单的方法)来管理冰壶比赛的排名和日程表。
本次活动将遵循 Shenkel 系统:
- 第一场比赛通过抽签决定
- 之后每支球队都打了一场比赛就可以确定第一名
- 第二场比赛按规则确定:第 1 名对第 2 名 - 第 3 名对第 4 名 - 第 5 名对第 6 名,依此类推
- 之后每支球队都打了两场比赛才有可能确定第二个排名
依此类推,直到结束(通常 3 到 5 场比赛)。
另一条规则是,第二场比赛不应重复游戏配对(例如,X对阵是) 发生在上一场比赛中。
我原本考虑使用 Microsoft Excel,但 Calc(LibreOffice/OpenOffice)也应该可以。
我能够确定点 1。(但它不一定是它的宏)。
我还能够在第一场比赛后确定排名(第 2 点)
我可以生成第一场与第二场、第三场与第四场的比赛日历...但我无法检查一支球队是否刚刚与同一支球队比赛过。
答案1
如果我正确理解了您的需求,您需要这样的东西:
也就是说,在白色单元格中您可以找到所有类似 (Team3 vs. Team6) 的比赛D7
,并且如果列 (Team6) 中的队伍A
获胜,则得 1 分,如果失败,则得 0 分;并且自动在浅灰色单元格中G4
得分。
然后您就会得到胜利总数的排名。
浅灰色单元格公式为:
=IF(INDIRECT(ADDRESS(COLUMN();ROW()))= ""; 0; 1 - INDIRECT(ADDRESS(COLUMN();ROW())))
灰色单元格为:= 0
排名列公式是简单的 SUM