结果的A1输入
根据条件表中A2单元格的值,以及B2、C2、D2各单元格中由随机数决定位置提取的一个字符,组合生成一个新字符串,并将其转换为数值结果。
或
将条件表中A2单元格的内容与B2、C2、D2单元格中分别通过随机数选取一个字符进行组合,使用MID函数提取相应位置的字符,并通过ROUND和RAND函数生成1或2作为取值位置,最后将各部分拼接起来,整体结果转换为数值形式。
回车并向右填充。
交替按F2和回车键刷新数据。
使用vba实现
自动排列组合,生成列数,支持手动输入设定。
从第二行第一列起逐列生成数据,每列数字不重复且数量随机。
实现代码如下:
按钮1被点击时执行的程序
清空当前工作表中所有已使用单元格的内容。
a = InputBox(请输入生成序列的列数) 提示用户输入列数
创建字典对象用于去除重复数据。
如果VBA判断a为数值,则继续执行;否则跳出程序。
随机化:初始化随机数种子
生成从1到a整数部分的随机列数,循环执行。
每列随机生成一个1到10之间的整数,用于控制数据数量。
l2:
若 d 的数量不等于 b,则生成随机数。
GoTo l2
End If
将字典d的键值经转置后,填入从第2行第j列开始、高度为d元素个数的单元格区域中,实现随机数在对应列的批量写入。
Next j
Else
请输入有效的数值。
GoTo l1
End If
l1:
End Sub
程序执行效果:
