Excel中生成不重复随机数有三种可靠方法:一、RAND+RANK法,通过辅助列随机值与RANK排序生成唯一编号;二、RAND+RANK+INDEX法,用RANK排序后INDEX映射原始序列实现打乱;三、SORTBY+RANDARRAY法(仅Excel 365/2021),用动态数组函数直接生成不重复随机序列。

如果您需要在Excel表格中生成一组不重复的随机数,直接使用RAND函数会产生重复值。以下是利用RAND与RANK函数组合实现不重复随机数的几种可靠方法:
一、RAND+RANK法(基础列内排序)
该方法通过为每行生成一个随机基准值,再用RANK函数按其大小顺序赋予唯一整数编号,从而获得不重复的伪随机排列序列。
1、在辅助列(例如B列)第2行输入公式:=RAND(),然后向下填充至所需行数。
2、在目标列(例如C列)第2行输入公式:=RANK(B2,$B$2:$B$100,0)+COUNTIF($B$2:B2,B2)-1,其中$B$2:$B$100需根据实际数据范围调整。
3、将C列结果复制为数值,避免RAND刷新导致变动。
二、RAND+RANK+INDEX法(映射原始序列)
适用于需对已有数字列表(如1~100)进行随机打乱并提取不重复值的场景,通过RANK排序后用INDEX索引原序列实现无重复抽样。
1、在A列输入原始序号(如A2:A101填入1至100)。
2、在B列对应位置输入=RAND()并填充。
3、在C2输入公式:=INDEX($A$2:$A$101,RANK(B2,$B$2:$B$101,0)),向下复制至C101。
4、C列即为1~100的不重复随机排列结果。
三、使用SORTBY+RANDARRAY函数(Excel 365/2021专属)
该方法依赖动态数组函数,无需辅助列,一次性生成不重复随机整数序列,本质是将有序数组按随机权重重排序。
1、选中起始单元格(如D2),输入公式:=SORTBY(SEQUENCE(100),RANDARRAY(100)),其中100为所需不重复随机数个数。
2、若需限定数值范围(如1~1000内的100个不重复整数),改用:=INDEX(SORTBY(SEQUENCE(1000),RANDARRAY(1000)),SEQUENCE(100))。
3、结果自动溢出填充,无需拖拽,且每次计算均更新为新排列。










