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 (避免小数索引) |
根据您提供的文字,我从中提取了所有英文单词(包括函数名、参数名、值和键名),并识别了其中的缩写(如 min
和 max
是缩写,其他单词没有缩写形式)。对于缩写,我提供了其全部名称(例如,min
的全称是 “minimum”)。所有单词均基于文本中出现的顺序提取,并去除重复项。
提取的单词包括:
- 函数名(如
RANDARRAY
、INDEX
)。 - 参数名(如
rows
、columns
)。 - 布尔值(如
TRUE
、FALSE
)。 - 键名(如
F9
)。 - 其他术语(如
whole_number
)。
单词及缩写 | 完整单词 | 释义 |
---|---|---|
RANDARRAY | Excel 函数,用于生成随机数数组。 | |
rows | 可选参数,表示要生成的行数(默认值为 1)。 | |
columns | 可选参数,表示要生成的列数(默认值为 1)。 | |
min | minimum | 可选参数,表示随机数的最小值(默认值为 0)。 |
max | maximum | 可选参数,表示随机数的最大值(默认值为 1)。 |
whole_number | 可选参数,表示是否生成整数随机数:TRUE 为整数,FALSE (默认)为小数。 | |
TRUE | 布尔值,用于 whole_number 参数时表示生成整数随机数。 | |
FALSE | 布尔值,用于 whole_number 参数时表示生成小数随机数(默认)。 | |
INDEX | Excel 函数,用于从给定位置(如单元格区域)返回值。 | |
ROWS | Excel 函数,用于计算指定区域的行数(例如 ROWS(B2:B25) 返回 24)。 | |
LET | Excel 函数,用于分配名称到计算结果(在复杂公式中定义变量)。 | |
UNIQUE | Excel 函数,用于返回列表中的唯一值(避免重复)。 | |
TAKE | Excel 函数,用于返回区域中的行或列子集(例如取前 N 个值)。 |