=LOOKUP(ROW($1:$44)*3-MOD(MID(RAND(),3+MOD(ROW($1:$44),10),3),3),ROW($1:$132),中文姓名) 用数组公式生成了一个随机数组,这个随机有点伪,很有限制,所以昨天摒弃了,不过更好的方式暂时没法实现,就用这个了。
olFq8ixn.rar
(3.87 KB, 下载次数: 58)
是多单元格数组,可以作为中间过程给后续函数继续加工。 思路模型: 一束混色光射过三棱镜,于是折射出各种单色,这样就实现了一个随机函数衍生出多个随机数... 这里 ROW($1:$44)*3 的作用就是分成了各个间隔,分光作用,3 是隔离度。 MOD(MID(RAND(),3+MOD(ROW($1:$44),10),3),3) 就是随机生成对 分光栅栏 的偏移,由于偏移最大是2,所以永远不会重合。 但这样的结果,就是每三个中必有一个会被 选中 ,这个和纯随机是有差距的。 还有一个模型: 一池鱼,然后一个随机脉冲,然后鱼儿随之四处乱窜,然后就撒一网,得到的鱼就是随机的。 一个魔方,或者一副牌,然后用 随机脉冲 冲洗,然后取固定位置的 元素,这些元素也是随机的。这种随机性感觉更好,呵呵。有兴趣可以实现一下,不过我现在还没有实现,呵呵 ======================================================================================= 发现其实在一个数组公式中,RAND()都在不停的计算的,所以我开始的理解有误,不过上面棱镜模型的方法结果是对的,就是以现在的理解还可以改进。简化
[此贴子已经被作者于2008-9-10 11:45:53编辑过] |