使用RAND与RANK函数在Excel生成不重复随机数
要生成不重复的随机数?我这里有三种实用的方法:第一种叫RAND+RANK法,借助辅助列排序获得唯一序号;第二种是RANDARRAY+SORTBY+SEQUENCE组合法,用动态数组一键搞定;还有第三种辅助列排序法,手动操作也能实现随机打乱的效果。

当您需要在Excel中生成一组不重复的随机数时,如果直接用RAND函数,很可能会出现重复值。其实,巧妙搭配RAND和RANK函数,就能轻松创建出没有重复的随机整数序列。下面我们一步步来看具体的实现方法。
一、用RAND生成随机值,再用RANK排序
这个方法的核心思路很简单:先为每一行生成一个随机小数,然后对这些随机数进行排名,这样就能得到1到n之间不重复的整数序列。RANK函数可以确保所有排名都是唯一的(即便极低概率下RAND值重复,配合COUNTIF也能处理),最终输出严格唯一的序号。
1、在A1单元格输入数字1,A2输入2,然后向下拖动填充手柄,一直填充到你需要的行数(比如A1:A100)。
2、接着在B1单元格输入公式:=RAND(),然后双击B1单元格右下角的小方块,把公式快速复制到B100。
3、现在来到C1单元格,输入这个公式:=RANK(B1,$B$1:$B$100,0)+COUNTIF($B$1:B1,B1)-1,同样向下拖动或双击填充至C100。
4、最后,将C列的结果复制,并选择性粘贴为“数值”,这样就能把随机排序的最终结果固定下来。
二、使用RANDARRAY与UNIQUE函数(适用于Microsoft 365或Excel 2024)
如果你用的是新版Excel,那方法就更简单了。这个方法借助动态数组函数直接生成指定范围内的不重复随机整数,不用任何辅助列,效率高而且公式非常简洁。UNIQUE函数负责剔除重复项,RANDARRAY则提供原始的随机数据源。
1、首先确定你需要多少个随机数(比如N个),以及数值范围(比如在1–100中随机挑出50个不重复的整数)。
2、然后,在第一个单元格(比如D1)输入这个公式:=INDEX(SEQUENCE(100),SORTBY(SEQUENCE(100),RANDARRAY(100)))。
3、如果只需要前N个结果,比如前50个,在外面套一个TAKE函数:=TAKE(INDEX(SEQUENCE(100),SORTBY(SEQUENCE(100),RANDARRAY(100))),50)。
4、按下Enter键后,这50个不重复的随机整数就会自动“溢出”显示出来,非常方便。
三、采用辅助列与排序功能(无公式手动操作)
如果你不想依赖复杂的函数,或者对公式兼容性有要求,这个手动操作的方法就很适合。它的本质是利用Excel的排序功能,对一个已有的编号序列进行随机扰动,从而实现打乱顺序的效果,可以应对需要频繁生成随机数的场景。
1、在A1到A100的区域,预先输入好1到100的连续序号。
2、在B1到B100区域中,全部输入=RAND(),然后按Ctrl+C复制。
3、选中B1:B100区域,右键选择“选择性粘贴”->“数值”,将B列的随机值固定下来。
4、接着选中A1到B100的整个区域,点击“数据”选项卡->“升序排序”,主要关键字选择B列。
5、排序完成后,A列就会呈现1到100的随机排列,这正好就是我们需要的无重复随机数序列。
热门专题
热门推荐
4月3日消息,今日,vivo年度影像旗舰X300 Ultra正式开售,新机定位专业V单+口袋摄影机,影像能力全面拉满。vivo X300 Ultra配备蔡司大师镜头群,覆盖14mm蔡司超广角、35m
4月2日消息,微软资深Windows工程师Raymond Chen发布长文,呼吁用户和企业IT团队,不要每次在系统出现问题后就第一时间将责任归咎于Windows更新。Chen指出,许多被归咎于每月更
近期,日本玩家围绕卡普空旗下女性角色视觉风格的变迁展开了广泛讨论。有玩家将十年前以当时技术水准塑造的代表性美少女角色玛莉·萝丝,与近年运用最新技术打造的英格丽德进行对比,认为后者在角色表现力上并未体
有多少资深玩家还记得AQUAPLUS旗下那款经典的恋爱冒险作品ToHeart?多年来,关于推出第三部续作的呼声始终不绝于耳。然而,这一计划事实上已被官方终止。近日,该公司社长在一次访谈中透露了项目搁
2026年4月5日,电动自行车行业正面临双重压力:国家层面的以旧换新补贴政策正式退出,叠加原材料成本持续攀升,导致终端售价普遍上调,市场销售明显承压。根据2026年最新实施的消费品以旧换新政策,电动





