我正试图将一组球员组成一个多轮比赛的队,每队最少3人,最多4人。他们已经被随机播种,并根据种子进行排名。但是需要根据未来的排名对它们进行配对,rounds.This需要可伸缩,这取决于玩家参加的人数。
例如: 12名球员被分成3支4人队.13名队员分成14人队和3人队.
我很熟悉如何在大多数编程语言中使用循环来完成这一任务,但希望在使用google /excel时提供一些指导。
发布于 2022-08-08 18:03:26
这似乎更像是一个数学问题,而不是一个公式问题:)
对于x
玩家,x>6
,将其分组为3组和4组,并对4组进行排序,您将有3组int(x/3)-mod(x,3)
组和4组mod(x,3)
组。
当您知道这一点时,有许多选项需要处理,比如,如果排序,您可以使用该选项与更多的数学,来计算组(类似于D2
是=IF($C2>4*MOD($B$18,3),INT(($C2-4*MOD($B$18,3)-1)/3)+MOD($B$18,3)+1,INT(($C2-1)/4)+1)
)。基本上,如果像这样做,用数学来代替循环,用MOD
来代替检查,它会变得很复杂,幸运的是,这是一个相当简单的例子。
另一个可能的解决方案,我不会写出来,因为它可能更复杂,是使用ARRAYFORMULA
,SEQUENCE
和REPT
,在这里,您做的序列的四个相同的数字,同时仍然处理组4,和序列3之后。它仍然使用与第一次检查类似的检查,但是它的优点是它可以自动填充表,而不需要将其向下拖放。这个功能也可以在第一个解决方案中实现(将所有这些都放在一个arrayformula
中,并将所有提到的$C2
改为$C2:INDIRECT("C"&$B$18+1)
)。
https://stackoverflow.com/questions/73238827
复制相似问题