- ·上一篇教育:excel表格离职表怎么弄
- ·下一篇教育:excel表格判断标准怎么写入
excel表格怎么控制一组随机数
1.excel如何在一组随机数中控制某些数的出现比例
这个需要用宏才可以办到,示例在附件中,你可以下载测试,但打开以前必须先开启excel的宏才会有效果如果自己做,过程如下:建立一个空表,点“菜单” “视图” “ 控件工具箱” 打勾 ,然后点控件工具箱上的按钮控件,在表上画一个按钮,然后建立宏,粘贴以下代码Sub 按钮1_单击() '设置注释及统计公式 ActiveSheet.Range("a1") = "随机数列" ActiveSheet.Range("b1") = "小于1的数值统计" ActiveSheet.Range("b2") = "=COUNTIF(RC[-1]:R[99]C[-1],""<=1"")" ActiveSheet.Range("c1") = "大于等于1的数值统计" ActiveSheet.Range("c2") = "=COUNTIF(RC[-2]:R[99]C[-2],"">1"")" Randomize Dim r60 As Long, dat(99) As Single r60 = 60 '设置大于1的百分比 Debug.Print "60 个大于 1 的数" For i = 1 To r60 dat(i - 1) = Int(Rnd * 10) * 0.01 + 1.01 '精确到两位小数,如三位小数修改为 Int(Rnd * 100) * 0.001 + 1.001 Debug.Print dat(i - 1) Next Debug.Print "40 个小于等于 1 的数" For i = r60 + 1 To 100 dat(i - 1) = Int(Rnd * 11) * 0.01 + 0.9 '精确到两位小数,如三位小数修改为 Int(Rnd * 101) * 0.001 + 0.9 Debug.Print dat(i - 1) Next Dim idx1 As Long, idx2 As Long, t As Single '300次随机打乱顺序 For i = 0 To 300 idx1 = Int(Rnd * 99): idx2 = idx1 + Int(Rnd * 30): If idx2 > 99 Then idx2 = idx2 - 99 t = dat(idx1) dat(idx1) = dat(idx2) dat(idx2) = t Next '随机打乱后结果填充到当前表单元格 A2-A101 For i = 0 To 99 ActiveSheet.Range("a" & i + 2) = dat(i) NextEnd Sub。