如何让excel对012进行六位数排列组合

012这3个数字 和01 这2个数字 组成6位数有哪些 012都可以重复出现 请问用EXCEL如何实现 多谢
VBA是什么

第1个回答  2013-05-10
012三人字的情况,输入公式:
A1
=MOD(INT((ROW(A1)-1)/243),3)
B1
=MOD(INT((ROW(A1)-1)/81),3)
C1
=MOD(INT((ROW(A1)-1)/27),3)
D1
=MOD(INT((ROW(A1)-1)/9),3)
E1
=MOD(INT((ROW(A1)-1)/3),3)
F1
=MOD(INT((ROW(A1)-1)/1),3)
下拉 OK。
01两个数字,相当于二进制,输入公式:
A1
=MOD(INT((ROW(A1)-1)/32),2)
B1
=MOD(INT((ROW(A1)-1)/16),2)
C1
=MOD(INT((ROW(A1)-1)/8),2)
D1
=MOD(INT((ROW(A1)-1)/4),2)
E1
=MOD(INT((ROW(A1)-1)/2),2)
F1
=MOD(INT((ROW(A1)-1)/1),2)
=========================
或者用VBA中新建模块,写入:
Sub 六位排列()
Dim a(3)
a(1) = 0 '3个数字
a(2) = 1
a(3) = 2
i7 = 1
For i1 = 1 To 3
For i2 = 1 To 3
For i3 = 1 To 3
For i4 = 1 To 3
For i5 = 1 To 3
For i6 = 1 To 3
Cells(i7, 1) = a(i1)
Cells(i7, 2) = a(i2)
Cells(i7, 3) = a(i3)
Cells(i7, 4) = a(i4)
Cells(i7, 5) = a(i5)
Cells(i7, 6) = a(i6)
i7 = i7 + 1
Next i6
Next i5
Next i4
Next i3
Next i2
Next i1

End Sub
两个数字,只要改"TO 3"为“TO 2”
相似回答