关于用excel排列组合,谢谢

假设A=12345,B=67890,C=12345,D=67890,现在我想按ABCD顺序列出4位数数字组合,一共是625组,例如1616,1617,1618....等等,请问如何讲625完全列出来(显示在同一列上),谢谢

第1个回答  2012-08-01
A1 12345
A2输入公式 =MID(A$1,IF(MOD(ROUNDUP(ROW(A1)/125,0),5)=0,5,MOD(ROUNDUP(ROW(A1)/125,0),5)),1) 下拉复制公式至A626

B1 67890
B2输入公式 =MID(B$1,IF(MOD(ROUNDUP(ROW(A1)/25,0),5)=0,5,MOD(ROUNDUP(ROW(A1)/25,0),5)),1) 双击填充柄

C1 12345
C2输入公式 =MID(C$1,IF(MOD(ROUNDUP(ROW(A1)/5,0),5)=0,5,MOD(ROUNDUP(ROW(A1)/5,0),5)),1) 双击填充柄

D1 67890
D2输入公式 =MID(D$1,IF(MOD(ROW(A1),5)=0,5,MOD(ROW(A1),5)),1) 双击填充柄

E2输入公式 =A2&B2&C2&D2 双击填充柄

这样E列就是你要的全部数据

当然也可以在A2输入一个合并的公式

=MID(A$1,IF(MOD(ROUNDUP(ROW(A1)/125,0),5)=0,5,MOD(ROUNDUP(ROW(A1)/125,0),5)),1)&MID(B$1,IF(MOD(ROUNDUP(ROW(A1)/25,0),5)=0,5,MOD(ROUNDUP(ROW(A1)/25,0),5)),1)&MID(C$1,IF(MOD(ROUNDUP(ROW(A1)/5,0),5)=0,5,MOD(ROUNDUP(ROW(A1)/5,0),5)),1)&MID(D$1,IF(MOD(ROW(A1),5)=0,5,MOD(ROW(A1),5)),1)

下拉复制公式至A626单元格本回答被提问者采纳
第2个回答  2012-08-01
将下面代码复制到宏中,运行,数字产生在A、B、C、D四列(其中数字B、D换作了56789)
Sub Macro1()
m = 2
For x = 1 To 5
For y = 5 To 9
For z = 1 To 5
For a = 5 To 9
Cells(m, 1) = x: Cells(m, 2) = y: Cells(m, 3) = z: Cells(m, 4) = a: m = m + 1
Next
Next
Next
Next
End Sub