如何用EXCEL生成指定范围内连续且不重复的随机数字
儿子活拨好动,老婆一直认为他有多动症。于是在旁人的“友好”怂恿下,带小家去华西医院让专家评估了一下。
结果结论是:基本没有多动症现象,但注意力严重分散。
悬着的新终于放松下来,可以医生接下来开出的“感知训练”缴费价格,却着实让我老婆心痛了好一阵子。
媳妇再三思量下,最终还是没有舍得缴费。呵呵。。。
回家后和我商量该咋办。。。。我一听,不就是做“专注度”训练吗?
最简单的办法就是用数字制作那种“数字专属度训练卡”勤加练习就行了。
于是我首先想到的是用WORD做了一页5*6的方格,里面随机填上1~30的数字。
准备打印出来让孩子,去练习。40秒内从1数到30。一开始效果还挺好。
可以很快就犯难了,一两张数卡片,小家伙很快就背的烂熟。这样起不到练习的效果。但是要做更多的话,纯粹靠手动输入,这样效率也太差了。并且难以保证不出错。所以,还是要想想用别的办法自动在这30个格子里面生成从1到30的随机数。
不动用编程方法的话,那就只能用到EXCEL了。
一开始我想的是用EXCEL的随机函数“RANDBETWEEN()”,虽然这个函数是可以生成指定范围内的随机数,但是它不能保证不重复呀。
其实,难点就是在这个“不重复”的问题上。
后来我想了一下,换一种思路:
这样的设计思路是,只要30个随机数中不出现重复现象,那么就可以完美实现训练卡的需求。
下面是具体的实现步骤
1:在EXCEL中使用“RAND()”函数生成30个随机数。
当然,RAND()虽然可以生成0~1之间的随机数,但是也肯能会有极少的几率出现随机数相等的情况。所以我在这里用了RAND()*RAND(),用两个随机数相乘,这样可以进一步降低随机数相等的几率。
2:使用“RANDBETWEEN()”函数对计算每个数字在数列中的顺序。
这样就完美的实现了随机产生1~30不重复的数列。
3:在做一个5*6的表格,将这30个数字对应过去。整个工作就大功告成了。
这样做成以后,因为全是公式自动生成的随机数,所以每次刷新以后,都会自动刷新这个表格。就省去了手动一个一个去敲的麻烦,还不会出错。
老规矩,附件就在下面,有兴趣自己去下载。
注:为了节约纸张,我在这里设置的是A5的打印大小。
问题来了,怎么刷新,刷新在哪?Ctrl+Alt+F5 不行