excel如何做排列组合?

[复制链接]
查看11 | 回复2 | 2015-7-22 19:55:46 | 显示全部楼层 |阅读模式
何必用宏呢?用随机函数,你按一下F9就会自动生成新一列数D,E,F中分别输入=OFFSET(A1,INT(RAND()*6)-1,0)=OFFSET(B1,INT(RAND()*8)-1,0)=OFFSET(C1,INT(RAND()*6)-1,0)刚测试了下,不知道怎么用RAND的时候总是偶尔会出点问题,修改了下=OFFSET(A1,INT(RANDBETWEEN(1,5))-1,0)=OFFSET(B1,INT(RANDBETWEEN(1,7))-1,0)=OFFSET(C1,INT(RANDBETWEEN(1,5))-1,0)
回复

使用道具 举报

千问 | 2015-7-22 19:55:46 | 显示全部楼层
用VBA:Subzuhe()r=1Fora=0To7Forb=a+1To8Forc=b+1To9Cells(r,1)="'"&a&b&cr=r+1NextNextNextEndSubSubpailie()r=1Fora=0To9Forb=0To9Forc=0To9IfabAndacAndbcThenCells(r,2)="'"&a&b&cr=r+1EndIfNextNextNextEndSub
回复

使用道具 举报

千问 | 2015-7-22 19:55:46 | 显示全部楼层
要用VBA才行,公式做不到新建模块Sub arrange()Dim a, b, c, d, e As Integerd = 1For a = 0 To 9For b = 0 To 9
For c = 0 To 9If ab And bc And ac ThenCells(d, 1) = a & b & cd = d + 1End IfNext cNext bNext aEnd SubSub assemble()Dim a, b, c, d, e As Integerd = 1For a = 0 To 9For b = 0 To 9
If b > a Then
For c = 0 To 9
If c > b ThenCells(d, 2) = a & b & cd = d + 1
End If
Next c
End IfNext bNext aEnd Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行