Excel中生成随机数的方法有好几种,比如使用RAND函数或RANDBETWEEN函数。但在实际运用时,不仅需要RAND函数,还需要其余函数配合使用,比如:if、countif、int、row等函数。
生成随机数一般都会有以下几点要求:
第一,生成随机数的重复要求:要求是否是不重复的数字。
第二,生成随机数的生成范围:规定生成范围必须是多少到多少。
第三,生成随机数的数字要求:比如是正整数、整数、两位小数等。
生成随机数实例介绍:
生成随机数实例一:
在A1:A20单元格区域产生1-100之间的20个不重复的随机正整数。
生成随机数的具体操作步骤如下:
第一步,设置excel的迭代计算,具体方法详见文章:《excel迭代计算的概念和实例参考(A列输入数据,B列自动自动填充)》。
第二步,在单元格A1中输入公式:=IF(COUNTIF($A$1:$A$20,A1)=1,A1,RANDBETWEEN(1,100))
第三步,单击A1单元格,复制公式到A20为止。
如果想要得到一组新的随机数,可以将A1:A20单元格区域的公式再拖动复制一遍。
实例要点说明:第一,为了验证A列数据的正确和唯一性,我们在B1单元格输入公式:=COUNTIF($A$1:$A$20,A1),并向下复制到B20单元格,得到的结果都是1,证明A列单元格数据都是唯一的。第二,如果你使用的是excel2003版的,在第二步输入公式之前,需要勾选菜单工具——加载宏——分析工具宏,然后再输入公式。因为公式中使用了分析工具库里的RANDBETWEEN函数,因此需要先加载分析工具库。
需要了解更多有关分析工具库,可以参考文章《浅谈excel 2003和2007版分析工具库》
生成随机数实例二:生成规定范围内的随机数(30选7_无辅助列函数解法)
实例详见下图:
在B3单元格输入公式:=SMALL(IF(COUNTIF($A3:A3,ROW(INDIRECT("$1:"&$H$1))),"",ROW(INDIRECT("$1:"&$H$1))),1+INT(RAND()*($H$1+1-B$2))),当输入完公式之后,按下CTRL+SHIFT+ENTER键结束。因为这是一个数组公式。想要了解数组有关的知识,可以参考文章:《Excel 数组公式应用及实例介绍》。
公式设计思路大致是这样:主要通过COUNTIF来判断随机数是否已经产生,如果存在,则进行过滤,最后通过RAND随机函数来从SMALL函数中取得数值。