在指定数字范围内生成不重复的随机整数
在Excel中,大家对RAND和RANDBETWEEN函数想必不陌生。然而,它们生成的随机整数有时会重复。这里将揭示一个确保无重复的随机整数生成方法。
1、 假设要求在500至600数字范围内生成10个不重复的随机整数公式:=IFERROR(INDEX(MOD(SMALL(RANDBETWEEN(ROW($500:$600)^0,10)/1%/1%+ROW($500:$600),ROW($1:$10)),10000),ROW(A1)),"")因为是数组公式,输入后要ctrl+shift+enter三键结束,再拖动向下填充,公式中的数字需要根据要求条件的变化调整,比如:指定数字的范围,生成数字的个数等
2、 公式原理解析:公式的核心部分是RANDBETWEEN(ROW($500:$600)^0,10)a). ROW($500:$600)返回的是500-600之间的自然数数组(共101个元素)b). 再将数组做0次幂后得到元素全是数字1的数组(共101个元素)c). 然后用函数RANDBETWEEN就会生成一个新的数组,这个新数组的元素全部是1到10之间的随机数(仍为101个元素)计算公式验证:将上面这段公式抹黑,按F9就可以得到某一组101个随机数字组成的数组,如图
3、 公式原理解析:接着上一步分析,RANDBETWEEN(ROW($500:$600)^0,10)/1%/1%+ROW($500:$600)a).?RANDBETWEEN(ROW($500:$600)^0,10)/1%/1%就是将上步生成数组的每个元素放大10000倍,即生成的数组元素是10000至100000之间的数字,且数字全部是10000的整数倍b).?ROW($500:$600)在第一步已介绍,返回的是500-600之间的自然数数组(共101个元素)c). 那么,两个相同维度的数组相加,就是比较大的整数(至少是10000的倍数)加上500至600之间的小整数计算公式验证:将上面这段公式抹黑,按F9就可以得到某一组101个随机数字组成的数组,如图
4、 公式原理解析:为了分析方便,我们将上面两步生成的数组定义为arr,那么公式简化为SMALL(arr,ROW($1:$10))a). small函数是返回一个数组/区域中第N小的值,这个N由第二参数决定,此例由ROW($1:$10)决定b). 而ROW($1:$10)返回的是1到10之间的自然数数组 {1;2;3;4;5;6;7;8;9;10}c). 那么,整个公式意思就是从arr这个大数字组成的数组中返回最小的10个数字计算公式验证:将上面这段公式抹黑,按F9就可以得到某一组10个随机数字组成的数组,如图
5、 公式原理解析:a). 上一步我们已经得到一个由10个随机数字组成的数组,但这个数组中数字还不在我们最终想得到的数字范围内(500-600)。但是,你一定会发现,依据上面的分析,这10个数字实际上是一个大整数(10000-100000之间的整数)外加一个小整数(500-600之间的整数)。b). 用MOD函数将这10个数字对10000求余数,这个余数就正好落在我们要求的取数范围内(500-600之间)计算公式验证:将上面这段公式抹黑,按F9就可以得到某一组10个随机数字组成的数组,这个10个数字就是我们最终要的结果,如图
6、 公式原理解析:既然10个随机数字已经有了结果,剩下的就是将其输出到单元格中,暂且将这个数组定位为brr,公式简化为INDEX(brr,ROW(A1))a).? 当公式向下拖动填充时,分别返回第一个随机数INDEX(brr,1);第二个随机数INDEX(brr,2)……第十个随机数INDEX(brr,10)b). 当然,如果你想将公式向右(列方向拖动),则需要将ROW(A1)更改为COLUMN(A1)
文章标题:在指定数字范围内生成不重复的随机整数
文章链接://www.hpwebtech.com/jiqiao/176510.html
为给用户提供更多有价值信息,ZOL下载站整理发布,如果有侵权请联系删除,转载请保留出处。
- 上一问:如何一键删除重复值?
- 下一问:WPS/Excel表格左上角三角形是什么?怎么去掉?
相关软件推荐
其他类似技巧
- 2024-07-22 18:29:01如何用快捷键快速查询Excel里面的相关内容
- 2024-07-22 18:28:01如何在Excel 2016工作表中复制公式
- 2024-07-22 18:27:01如何计算销售额方差
- 2024-07-22 18:26:02excel办公表格怎么设置密码
- 2024-07-22 18:25:02Microsoft Excel 中怎样制作表格
- 2024-07-22 18:24:02使用EXCEL制作条形码的操作方法
- 2024-07-22 18:23:02Excel2003中的至同组工作表怎样使用
- 2024-07-22 18:22:01Excel如何设置等级评分
- 2024-07-22 18:21:02人力资源管理常用的Excel函数公式大全
- 2024-07-22 18:20:02怎样在excel中输入日期并设置其显示格式
Microsoft Office Excel2007软件简介
excel2007是2007版的Microsoft Office中的重要模块组件,Excel2007可以在电脑上编写电子表格,是最好用的办公软件,可以满足用户对表格的自定义编辑,还具有强大的图形功能,功能全面。zol提供excel2007官方版下载。excel2007具有强大插件平台支持,免费提供海量在线存储空间及wps文字文档模板,支持阅读和输出PDF文件,全... 详细介绍»