2个回答
展开全部
组合:
Sub ZuHe()
s = [A1]
r = 1
For n1 = 1 To Len(s) - 2
For n2 = n1 + 1 To Len(s) - 1
For n3 = n2 + 1 To Len(s)
Cells(r, 2) = Mid(s, n1, 1) & Mid(s, n2, 1) & Mid(s, n3, 1)
r = r + 1
Next
Next
Next
End Sub
s = [A1]
r = 1
For n1 = 1 To Len(s)
For n2 = 1 To Len(s)
For n3 = 1 To Len(s)
Cells(r, 3) = Mid(s, n1, 1) & Mid(s, n2, 1) & Mid(s, n3, 1)
r = r + 1
Next
Next
Next
End Sub
追问
用公式怎么实现?
追答
公式也许可以实现,不过应该不会简单。用VBA很方便。
Sub PaiLie()
s = [A1]
r = 1
For n1 = 1 To Len(s)
For n2 = 1 To Len(s)
For n3 = 1 To Len(s)
Cells(r, 2) = Mid(s, n1, 1) & Mid(s, n2, 1) & Mid(s, n3, 1)
r = r + 1
Next
Next
Next
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用字典软件吧,或者用VBA来解决吧。
如果非要公式的话:
允许重复值(比如111,222,333之类的):
=MID($A$1,CEILING(ROW(A1)/36,1),1)&MOD(INT(ROW(A36)/6),6)+1&MID($A$1,MOD(ROW(A6),6)+1,1)
下拉填充直到216行或出现2位数的时候结束。
如不允许重复值(比如不允许112,122,133之类的。):
还得再想想,比较麻烦一点。
如果非要公式的话:
允许重复值(比如111,222,333之类的):
=MID($A$1,CEILING(ROW(A1)/36,1),1)&MOD(INT(ROW(A36)/6),6)+1&MID($A$1,MOD(ROW(A6),6)+1,1)
下拉填充直到216行或出现2位数的时候结束。
如不允许重复值(比如不允许112,122,133之类的。):
还得再想想,比较麻烦一点。
追问
公式可能还是有问题,我把数字换成987654,结果会出现其它数字123?
追答
中间的少了个MID函数,改成:
=MID($A$1,CEILING(ROW(A1)/36,1),1)&MID($A$1,MOD(INT(ROW(A36)/6),6)+1,1)&MID($A$1,MOD(ROW(A6),6)+1,1)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询