从不重复的多列中随机选择n次
Choose random n times from multiple columns without duplicates
我现在知道如何通过将 =INDEX 与 RANDBETWEEN、MATCH、FILTER 等一起使用来从一列中选择一个随机值。现在我有以下 sheet:
Task
Available person 1
Available person 2
Available person 3
Available person 4
Available person 5
Chosen person 1
Chosen person 2
Mow the grass
Tyler
Ross
Paul
Tammy
Lisa
x
x
Cook dinner
Samantha
William
Peter
Mia
Tim
x
x
是否有公式可以从可用的 1 - 可用的 5 人中随机选择两个人来完成任务?我希望第一个随机选择的人出现在“选择的人 1”列中,第二个随机选择的人出现在“选择的人 2”列中。他们不可能是同一个人,所以如果可能的话我想过滤掉重复的。
尝试:
=ARRAYFORMULA(ARRAY_CONSTRAIN(SPLIT(FLATTEN(QUERY(QUERY(QUERY(SPLIT(FLATTEN(
ROW(A2:A3)&"×"&RANDARRAY(ROWS(B2:F3), COLUMNS(B2:F3))&"×"&B2:F3), "×"),
"select max(Col3) group by Col2 pivot Col1"),
"offset 1", 0),,9^9)), " "), 9^9, 2))
我现在知道如何通过将 =INDEX 与 RANDBETWEEN、MATCH、FILTER 等一起使用来从一列中选择一个随机值。现在我有以下 sheet:
Task | Available person 1 | Available person 2 | Available person 3 | Available person 4 | Available person 5 | Chosen person 1 | Chosen person 2 | ||
---|---|---|---|---|---|---|---|---|---|
Mow the grass | Tyler | Ross | Paul | Tammy | Lisa | x | x | ||
Cook dinner | Samantha | William | Peter | Mia | Tim | x | x |
是否有公式可以从可用的 1 - 可用的 5 人中随机选择两个人来完成任务?我希望第一个随机选择的人出现在“选择的人 1”列中,第二个随机选择的人出现在“选择的人 2”列中。他们不可能是同一个人,所以如果可能的话我想过滤掉重复的。
尝试:
=ARRAYFORMULA(ARRAY_CONSTRAIN(SPLIT(FLATTEN(QUERY(QUERY(QUERY(SPLIT(FLATTEN(
ROW(A2:A3)&"×"&RANDARRAY(ROWS(B2:F3), COLUMNS(B2:F3))&"×"&B2:F3), "×"),
"select max(Col3) group by Col2 pivot Col1"),
"offset 1", 0),,9^9)), " "), 9^9, 2))