excel如何做排列组合?
excel如何做“排列组合”0-9,共10个数字,取三个数的排列共有720个,取三个数的组合共有120个,如何能自动将这120个组合自动填充到excel的一列里?还有72...
excel如何做“排列组合”
0-9,共10个数字,取三个数的排列共有720个,取三个数的组合共有120个,如何能自动将这120个组合自动填充到excel的一列里?还有720个排列又如何做? 展开
0-9,共10个数字,取三个数的排列共有720个,取三个数的组合共有120个,如何能自动将这120个组合自动填充到excel的一列里?还有720个排列又如何做? 展开
2015-07-22 · 知道合伙人软件行家
关注
展开全部
1、打开"排列组合.XLS"。
2、打开"Microsoft Query"。
3、选择数据源:EXCEL FILES*,不要勾选"使用查询向导" 确定。
4、打开存放在电脑E:盘上的"排列组合.xls"文件,作为外部数据源。
5、添加"职员$"工作表到Query,并关闭。
6、点击Query工具栏中"SQL"按钮。
7、填写如下SQL语句:
select *
from [职员$] A,[职员$] B,[职员$] C
where A.职员<B.职员 and B.职员<C.职员
order by A.职员,B.职员,C.职员
点击确定。
8、稍微等待一下,系统会把满足条件所用排列组合显示出来。
9、最后选择Query"文件"菜单下"将数据返回到EXCEL"选项。
10、弹出"导入数据"对话框,鼠标单击D1单元格,确认数据导入在D1单元格,确定,当然也可以把结果放在新工作表中。
11、因为全排列的数据量很大,有969种排列组合,把EXCEL表进行了窗口冻结操作。
12、后续对结果进行处理,打印出抽签条即可。
展开全部
何必用宏呢?用随机函数,你按一下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)
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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要用VBA才行,公式做不到
新建模块
Sub arrange()
Dim a, b, c, d, e As Integer
d = 1
For a = 0 To 9
For b = 0 To 9
For c = 0 To 9
If a <> b And b <> c And a <> c Then
Cells(d, 1) = a & b & c
d = d + 1
End If
Next c
Next b
Next a
End Sub
Sub assemble()
Dim a, b, c, d, e As Integer
d = 1
For a = 0 To 9
For b = 0 To 9
If b > a Then
For c = 0 To 9
If c > b Then
Cells(d, 2) = a & b & c
d = d + 1
End If
Next c
End If
Next b
Next a
End Sub
新建模块
Sub arrange()
Dim a, b, c, d, e As Integer
d = 1
For a = 0 To 9
For b = 0 To 9
For c = 0 To 9
If a <> b And b <> c And a <> c Then
Cells(d, 1) = a & b & c
d = d + 1
End If
Next c
Next b
Next a
End Sub
Sub assemble()
Dim a, b, c, d, e As Integer
d = 1
For a = 0 To 9
For b = 0 To 9
If b > a Then
For c = 0 To 9
If c > b Then
Cells(d, 2) = a & b & c
d = d + 1
End If
Next c
End If
Next b
Next a
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用VBA:
Sub zuhe()
r = 1
For a = 0 To 7
For b = a + 1 To 8
For c = b + 1 To 9
Cells(r, 1) = "'" & a & b & c
r = r + 1
Next
Next
Next
End Sub
Sub pailie()
r = 1
For a = 0 To 9
For b = 0 To 9
For c = 0 To 9
If a <> b And a <> c And b <> c Then
Cells(r, 2) = "'" & a & b & c
r = r + 1
End If
Next
Next
Next
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询