Excel 团队A和B随机化器无重复-代码仅适用于团队A
我的脚本仅与团队1配对(仅与1列配对)。我如何将第2组与第1组合并,以便在下次配对时不重复Excel 团队A和B随机化器无重复-代码仅适用于团队A,excel,vba,Excel,Vba,我的脚本仅与团队1配对(仅与1列配对)。我如何将第2组与第1组合并,以便在下次配对时不重复 只有第一队和第二队才能配对。团队1不需要配对,因为他们已经在一个团队中 Team 1 A,B,C Team 2 D,E,F 当前输出使团队1随机化 A、 B C、 A B、 C 我希望当前的输出将团队1与团队2随机化 输出: A、 D C、 F B、 D 没有重复项。“只需要让团队1与团队2配对。团队1不需要配对,因为他们已经在一个团队中。”这似乎是一个矛盾的说法。包括样本数据和预期结果可能很有用。另外
只有第一队和第二队才能配对。团队1不需要配对,因为他们已经在一个团队中
Team 1 A,B,C
Team 2 D,E,F
当前输出使团队1随机化
A、 B
C、 A
B、 C
我希望当前的输出将团队1与团队2随机化
输出:
A、 D
C、 F
B、 D
没有重复项。“只需要让团队1与团队2配对。团队1不需要配对,因为他们已经在一个团队中。”这似乎是一个矛盾的说法。包括样本数据和预期结果可能很有用。另外,解释一下当前输出是什么以及它与预期的差异也会很有用。我很感谢您的反馈。希望我的编辑提供了更多的澄清。不需要随机两个团队,按字母顺序列出团队1,将每个成员与随机选择的团队2成员进行匹配,瞧!随机配对!
Sub RandomPairing()
Dim Cnt As Long, RandomIndex As Long, Tmp As Variant, Arr As Variant
Randomize
Arr = Range("A2", Cells(Rows.Count, "A").End(xlUp))
Arr = Range("B2", Cells(Rows.Count, "B").End(xlUp))
For Cnt = UBound(Arr) To 1 Step -1
RandomIndex = Int((Cnt - LBound(Arr) + 1) * Rnd + LBound(Arr))
Tmp = Arr(RandomIndex, 1)
Arr(RandomIndex, 1) = Arr(Cnt, 1)
Arr(Cnt, 1) = Tmp
Next
Range("G4").Resize(UBound(Arr)) = Arr
Range("G4").Offset(UBound(Arr) / 2).Resize(UBound(Arr)).Cut Range("H4")
End Sub