如何让excel自动排列组合 如何用excel自由组合

经验直达:

  • 如何用excel自由组合
  • 如何让excel自动排列组合

一、如何用excel自由组合


结果的A1输入
=--(条件!$A2&MID(条件!$B2,RAND()*2 1,1)&MID(条件!$C2,RAND()*2 1,1)&MID(条件!$D2,RAND()*2 1,1))

=--(条件!$A2&MID(条件!$B2,ROUND(RAND() 1,0),1)&MID(条件!$C2,ROUND(RAND() 1,0),1)&MID(条件!$D2,ROUND(RAND() 1,0),1))
回车并向右填充 。
交替按F2和Enter更新数据 。


二、如何让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 101 ' 每列产生随机数的数量
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自动排列组合 如何用excel自由组合

【如何让excel自动排列组合 如何用excel自由组合】


相关经验推荐