软件下载 > 应用软件 > 办公软件 > Microsoft Office Excel2007使用技巧 > 在指定数字范围内生成不重复的随机整数

在指定数字范围内生成不重复的随机整数

软件分类:办公软件大小:未知时间:2023-11-07
软件介绍:Excel 2007是一款老牌的办公软件套装,excel2007内存占用低,运行速度快,体积小巧。excel2007具有强大插件平台支持,zol提供Excel 2007官方下载。

在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下载站整理发布,如果有侵权请联系删除,转载请保留出处。

Microsoft Office Excel2007软件简介

excel2007是2007版的Microsoft Office中的重要模块组件,Excel2007可以在电脑上编写电子表格,是最好用的办公软件,可以满足用户对表格的自定义编辑,还具有强大的图形功能,功能全面。zol提供excel2007官方版下载。excel2007具有强大插件平台支持,免费提供海量在线存储空间及wps文字文档模板,支持阅读和输出PDF文件,全... 详细介绍»