如何在Excel中实现肥皂盒德比赛车手左右车道参赛次数均等?
肥皂盒德比赛事Excel表格优化需求
我正在制作一个肥皂盒德比赛事的Excel表格,核心目标是自动为每位赛车手分配左右车道均等的参赛次数(各3次),同时完成随机对手配对。
目前表格的设置是这样的:
- 包含6轮预赛(heat),每轮上方配有触发按钮
- 之前通过生成无重复随机数的方式从车手列表里选对手,点击按钮时,会把「Randomizer」工作表中「DON'T TOUCH」列的数据复制到「The Race is On」工作表对应预赛区域,每次点击都会刷新并重新随机
当前触发按钮的宏代码如下:
Sub btnHeat1_Click() On Error Resume Next Dim xRg As Range Dim WS As Worksheet Dim Shp As Shape Set xRg = Application.Selection Set WS = ActiveSheet Set Shp = WS.Shapes("btnHeat1") Worksheets("Randomizer").Range("E4:E62").Copy Worksheets("The Race is On").Range("F4:F62").PasteSpecial xlPasteValues xRg.Select Shp.Visible = False End Sub
现在我需要优化随机功能,确保每位赛车手在左右车道各参赛3次。我自己琢磨过两个方向,但都不知道具体怎么落地:
- 思路一:记录每次按钮点击时的车道分配,但不清楚怎么把这个记录逻辑整合到现有的随机机制里
- 思路二:一次性生成所有6轮预赛的配对,用0和1代表左右车道,把车道次数限制纳入随机逻辑,但不知道具体代码怎么写
恳请各位大佬提供可行的解决方案,谢谢!
内容的提问来源于stack exchange,提问作者ITyPoran
相关产品推荐
相关产品推荐

