作者ddqueen (呼~呼~叔叔觉得你好可爱~)
看板Office
标题[算表] 随机乱数不重覆的函数写法
时间Mon Jun 22 19:14:53 2020
软体:Excel
版本:2003
大家好,
在Sheet1中的A1,我写了个函数 =RANDBETWEEN(0,MAX(Sheet2!A:A))
目前MAX(Sheet2!A:A))是141,未来还会再增加。
问题来了,我把Sheet1中A1往下拉到A80,的确A1到A80中每个储存格都会跑
从0到MAX(Sheet2!A:A)这数字间的乱数,可是会有重覆的情况发生。
故请教
(1)我想要这些储存格中的乱数都不会重覆,函数要怎麽写?
(2)目前我是把函数从A1拉到A80,未来不一定到A80,可能少,可能多。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.36.240.71 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1592824495.A.303.html
2F:→ soyoso: 有可能少或多的话,设个储存格键入乱数的数量,判断列号是 06/22 20:27
3F:→ soyoso: 否在数量内,列号函数row 06/22 20:27
抱歉,可能我说的不够仔细,所以有误会。Sheet2的A1是0,A2是1,A3是2,…以下依序
排列。
Sheet1的A1我的函数是=RANDBETWEEN(0,MAX(Sheet2!A:A)) 然後下拉到A80。
因为Sheet2的A行全部都是整数,所以RANDBETWEEN(0,MAX(Sheet2!A:A)) 跑出来的数字
也是整数,而且会重复。
Sheet2的图
https://imgur.com/ReQ5jiT
Sheet1的图
https://imgur.com/bN4iuGD
因为Sheet2的原本的法条顺序,我想用乱数的顺序,所以我Sheet1的A1写成
RANDBETWEEN(0,MAX(Sheet2!A:A)) 後,
Sheet1的B1写成=INDEX(Sheet2!A:B,MATCH(A1,Sheet2!A:A,0),2)
这样子我就可以得到以随机顺序排列的法条,可是结果发现Sheet1的A行的乱数会重复。
我想要的是,用随机顺序排列的法条,可是不要重覆……。
可以请您再帮我看看吗?
※ 编辑: ddqueen (114.36.240.71 台湾), 06/23/2020 12:29:04
4F:→ soyoso: 没有误会啦,我回文就是在产生不重覆的整数乱数 06/23 12:32
5F:→ soyoso: 回文连结内的a栏就为不重覆的部分,c栏视为辅助栏就可以 06/23 12:34
6F:→ soyoso: 要应用到原po档案的话,sheet1的a栏就以函数rank,那辅助 06/23 12:36
7F:→ soyoso: 栏rand()的部分就看要设於哪栏的储存格内,函数rank再调整 06/23 12:37
8F:→ soyoso: 另外,因为乱数有要0值,rank(..)则减1 06/23 13:12
了解了,谢谢您。
※ 编辑: ddqueen (114.36.240.71 台湾), 06/23/2020 14:30:44