RANDARRAY 是 Excel 365 和 Excel 2021 引入的一个函数,用于生成一个随机数数组。它的语法如下:
RANDARRAY([rows], [columns], [min], [max], [whole_number])
 
参数详解
-  
rows(可选)- 要生成的行数(默认值为 1)。
 - 例如,
2表示生成 2 行的随机数。 
 -  
columns(可选)- 要生成的列数(默认值为 1)。
 - 例如,
1表示每行只有 1 列。 
 -  
min(可选)- 随机数的最小值(默认值为 0)。
 - 例如,
1表示随机数最小是 1。 
 -  
max(可选)- 随机数的最大值(默认值为 1)。
 - 例如,
24表示随机数最大是 24。 
 -  
whole_number(可选)TRUE:生成整数随机数。FALSE(默认):生成小数随机数。
 
在随机抽奖中的应用
你的需求是 从 B2:B25 随机抽取 2 人,所以公式是:
=INDEX(B2:B25, RANDARRAY(2, 1, 1, ROWS(B2:B25), TRUE))
 
2→ 生成 2 行(抽 2 人)1→ 每行 1 列1→ 随机数最小是 1(对应 B2)ROWS(B2:B25)→ 计算 B2:B25 的行数(24),作为最大值TRUE→ 生成整数(避免小数索引)
这样,RANDARRAY 会生成 2 个 1~24 的随机整数,INDEX 再用它们从 B2:B25 中取出对应名字。
注意事项
-  
避免重复抽中同一人
RANDARRAY可能会生成相同的随机数(即同一个人被抽中两次)。
解决方法(确保不重复):=LET(randNums, RANDARRAY(24, 1, 1, 24, TRUE),uniqueRand, UNIQUE(randNums),INDEX(B2:B25, TAKE(uniqueRand, 2)) )UNIQUE确保随机数不重复TAKE(uniqueRand, 2)取前 2 个不重复的随机数
 -  
每次计算都会刷新
- 按 
F9或编辑单元格时,随机结果会重新生成。 - 如果想固定结果,可以 复制 → 右键 → “粘贴为值”。
 
 - 按 
 
总结
| 参数 | 作用 | 示例值 | 
|---|---|---|
rows | 生成的行数 | 2(抽 2 人) | 
columns | 生成的列数 | 1(单列) | 
min | 随机数最小值 | 1(从第 1 行开始) | 
max | 随机数最大值 | 24(共 24 个名字) | 
whole_number | 是否取整数 | TRUE(避免小数索引) | 

 示例 下载 地址