网上有关“如何让excel自动排列组合”话题很是火热,小编也是针对如何让excel自动排列组合寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。
使用vba实现
自动排列组合,生成排列组合的列数,手动输入
然后从第二行第一列开始生成每列数据,每列数据数字不重复,数量随机。
实现代码如下:
Sub?按钮1_Click()Application.ScreenUpdating?=?False
ActiveSheet.UsedRange.ClearContents?'清空表格
a?=?InputBox("请输入产生序列的列数")?'提示输入列数
Set?d?=?CreateObject("scripting.dictionary")?'字典去重
If?VBA.IsNumeric(a)?Then?'判断输入的是否是数值,不是则跳出程序
Randomize?'初始化随机数
For?j?=?1?To?Int(a)?'生成输入列数的随机数
b?=?Int(Rnd?*?99999)?Mod?10?+?1?'?每列产生随机数的数量
d.RemoveAll
l2:
If?d.Count?<>?b?Then?'生成随机数
d(Int(Rnd?*?99999)?Mod?10)?=?""
GoTo?l2
End?If
Cells(2,?j).Resize(d.Count)?=?WorksheetFunction.Transpose(d.keys)?'将随机数存入相应列里
Next?j
Else
MsgBox?"请输入数值"
GoTo?l1
End?If
l1:
Application.ScreenUpdating?=?True
End?Sub
程序执行效果:
用excel如何实现的数据自动排列组合?
输入以下公式,然后向下填充公式
=OFFSET(A$1,INT((ROW(A1)-1)/8),)&OFFSET(B$1,MOD((ROW(A1)-1)/2,4),)&OFFSET(C$1,MOD(ROW(A1)-1,2),)
详见附图
可以这样来:
1、F列,引用A列:=INDIRECT("a"&RANDBETWEEN(2,5))
2、G列引用B列:=INDIRECT("B"&RANDBETWEEN(2,5))
3、H列引用C列:=INDIRECT("C"&RANDBETWEEN(2,5))
关于“如何让excel自动排列组合”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!
本文来自作者[千萍]投稿,不代表威门号立场,如若转载,请注明出处:https://m.sdythymc.com/weimen/205.html
评论列表(3条)
我是威门号的签约作者“千萍”
本文概览:网上有关“如何让excel自动排列组合”话题很是火热,小编也是针对如何让excel自动排列组合寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助...
文章不错《如何让excel自动排列组合》内容很有帮助