如何在excel中用12个不同的数字,三个一组,组成不同的组显示出来。不要求不同排序,只需要不同组合。 200
比如,数字,1、2、3、4、5、6、7、8、9、10、11、12这十二数字,按照,123、124、125、234、245这样的组合。不要求排序,只要每个数字都涉及的不同组...
比如,数字,1、2、3、4、5、6、7、8、9、10、11、12这十二数字,按照,123、124、125、234、245这样的组合。不要求排序,只要每个数字都涉及的不同组合就行。
好了,再补充一个吧,如果是多个数字(不仅限于12个数字,少于或者大于十二个数字的。)组成,两个一组,或者三个一组(不要求三个数字重复排序,只要组合。)怎么写入代码进行操作。可以通过其他方式找WO 展开
好了,再补充一个吧,如果是多个数字(不仅限于12个数字,少于或者大于十二个数字的。)组成,两个一组,或者三个一组(不要求三个数字重复排序,只要组合。)怎么写入代码进行操作。可以通过其他方式找WO 展开
6个回答
2018-10-10 · 知道合伙人软件行家
关注
展开全部
万能的vba可以实现
第一步:初始化一个数组 放入12个数字
第二步:假设定义一个jgArr(1 to 220,1 to 3)as integer
JS=0
FOR I=1 TO 10
FOR J=I+1 TO 11
FOR K=J+1 TO 12
JS=JS+1
JGARR(JS,1)=ARR(I):JGARR(JS,2)=ARR(J):JGARR(JS,3)=ARR(K)
NEXT K
NEXT J
NEXT I
不理解 再问我吧
第一步:初始化一个数组 放入12个数字
第二步:假设定义一个jgArr(1 to 220,1 to 3)as integer
JS=0
FOR I=1 TO 10
FOR J=I+1 TO 11
FOR K=J+1 TO 12
JS=JS+1
JGARR(JS,1)=ARR(I):JGARR(JS,2)=ARR(J):JGARR(JS,3)=ARR(K)
NEXT K
NEXT J
NEXT I
不理解 再问我吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a = [a1]
Set d = CreateObject("scripting.dictionary")
ReDim cm(1 To 10000, 1 To 1)
For i = 1 To Len(a)
d(Mid(a, i, 1)) = ""
Next
For i = 1 To Len(a)
For n = 1 To Len(a)
For u = 1 To Len(a)
s = Mid(a, i, 1) & Replace(Mid(a, n, u), Mid(a, i, 1), "")
If Mid(a, i, 1) <> Mid(a, n, u) Then d(s) = ""
Next
Next
Next
For i = 1 To Len(a)
Next
Range("b1").Resize(d.Count) = Application.Transpose(d.keys)
End Sub
在A1填入内容。比如:CJASRVEG
运行此宏,会在B列列出所有配对结果。
此方案的如CJ于JC都会列出。
a = [a1]
Set d = CreateObject("scripting.dictionary")
ReDim cm(1 To 10000, 1 To 1)
For i = 1 To Len(a)
d(Mid(a, i, 1)) = ""
Next
For i = 1 To Len(a)
For n = 1 To Len(a)
For u = 1 To Len(a)
s = Mid(a, i, 1) & Replace(Mid(a, n, u), Mid(a, i, 1), "")
If Mid(a, i, 1) <> Mid(a, n, u) Then d(px(s)) = ""
Next
Next
Next
For i = 1 To Len(a)
Next
Range("b1").Resize(d.Count) = Application.Transpose(d.keys)
End Sub
Function px(x)
Text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
For i = 1 To 26
For n = 1 To Len(x)
If Mid(Text, i, 1) = UCase(Mid(x, n, 1)) Then
s = s & UCase(Mid(x, n, 1))
End If
Next
Next
px = s
End Function
此方案与上方案的区别就是 类似于CJA与JCA 元素相同的归为一种。
Set d = CreateObject("scripting.dictionary")
ReDim cm(1 To 10000, 1 To 1)
For i = 1 To Len(a)
d(Mid(a, i, 1)) = ""
Next
For i = 1 To Len(a)
For n = 1 To Len(a)
For u = 1 To Len(a)
s = Mid(a, i, 1) & Replace(Mid(a, n, u), Mid(a, i, 1), "")
If Mid(a, i, 1) <> Mid(a, n, u) Then d(s) = ""
Next
Next
Next
For i = 1 To Len(a)
Next
Range("b1").Resize(d.Count) = Application.Transpose(d.keys)
End Sub
在A1填入内容。比如:CJASRVEG
运行此宏,会在B列列出所有配对结果。
此方案的如CJ于JC都会列出。
a = [a1]
Set d = CreateObject("scripting.dictionary")
ReDim cm(1 To 10000, 1 To 1)
For i = 1 To Len(a)
d(Mid(a, i, 1)) = ""
Next
For i = 1 To Len(a)
For n = 1 To Len(a)
For u = 1 To Len(a)
s = Mid(a, i, 1) & Replace(Mid(a, n, u), Mid(a, i, 1), "")
If Mid(a, i, 1) <> Mid(a, n, u) Then d(px(s)) = ""
Next
Next
Next
For i = 1 To Len(a)
Next
Range("b1").Resize(d.Count) = Application.Transpose(d.keys)
End Sub
Function px(x)
Text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
For i = 1 To 26
For n = 1 To Len(x)
If Mid(Text, i, 1) = UCase(Mid(x, n, 1)) Then
s = s & UCase(Mid(x, n, 1))
End If
Next
Next
px = s
End Function
此方案与上方案的区别就是 类似于CJA与JCA 元素相同的归为一种。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果只是12个数字的话,你完全可以数得过来:123,124,125...234,235...101112,稍有编程基础的话,任何语言都可以通过编程来实现排列这种类NP问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
公式可以实现。晚上如果有时间再琢磨一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询