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 (避免小數索引) |
示例 下載 地址