EXCEL中从11个数字选不同6数字的排列组合,但有这样的要求……

要求如下:6个数字随机平均分成三组后,组与组之间顺序不论,组内成员之间顺序不论,将这样的组合全部排出来。比如6个数字是123456,它们进行排列,(1,2)(3,4)(5... 要求如下:6个数字随机平均分成三组后,组与组之间顺序不论,组内成员之间顺序不论,将这样的组合全部排出来。
比如6个数字是123456,它们进行排列,(1,2)(3,4)(5,6)相同的组合不要:比如(21,34,56)或(65,43,12)等,
而另外的组合有(1,3)(2,4)(5,6)/(1,4)(3,2)(5,6)/(4,5)(3,4)(1,6)等,能否将这些想要的组合排出来呢?
展开
 我来答
EXCEL办公实战
2014-12-24 · Excel办公实战函数、技巧、VBA教程
EXCEL办公实战
采纳数:2380 获赞数:23630

向TA提问 私信TA
展开全部
COMBIN(6,2)=15
COMBIN(15,3)=455
有455个组合

要先全部列出,非VBA做不出来
VBA也是非常复杂了
更多追问追答
追问
请问您能做出来吗?
追答
Sub test()
Dim j, k, l
Dim brr(1 To 1048576, 1 To 1)
Dim crr(1 To 1048576, 1 To 3)
For j = 1 To 5
For k = j + 1 To 6
brr(n + 1, 1) = "(" & j & "," & k & ")"
n = n + 1
Next
Next
[a1].Resize(UBound(brr), 1) = brr
arr = [a1].CurrentRegion
For i = 1 To UBound(arr) - 2
For ii = i + 1 To UBound(arr) - 1
For iii = ii + 1 To UBound(arr)
crr(M + 1, 1) = arr(i, 1)
crr(M + 1, 2) = arr(ii, 1)
crr(M + 1, 3) = arr(iii, 1)
M = M + 1
Next
Next
Next
[c1].Resize(UBound(crr), 3) = crr
End Sub
这个便是了

如果11个中随机6个算上 那数量是很可怕的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式