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

2025-05-06 10:56:05

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三键结束,再拖动向下填充,公式中的数字需要根据要求条件的变化调整,比如:指定数字的范围,生成数字的个数等

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

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个随机数字组成的数组,如图

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

5、公式原理解析:a). 上一曰搬嚏嘀步我们已经得到一个由10个随机数字组成的数组,但这个数组中数字还不在我们最终想得到的数字范围内(500-600)。但是,你一定会发现,依据上面的分弗幺黑镯析,这10个数字实际上是一个大整数(10000-100000之间的整数)外加一个小整数(500-600之间的整数)。b). 用MOD函数将这10个数字对10000求余数,这个余数就正好落在我们要求的取数范围内(500-600之间)计算公式验证:将上面这段公式抹黑,按F9就可以得到某一组10个随机数字组成的数组,这个10个数字就是我们最终要的结果,如图

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

7、公式原理解析:最后一步是容错处理,因为在公式向下拖动填充的过程中,当填充到第11行时,已经将数组中10个随机数字输出完毕,这时就会返回一个错误值。在公式外层嵌套一个IFERROR函数,当出现错误值时,返回空值

在指定数字范围内生成不重复的随机整数
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢