我正在尝试从特定范围生成随机单元格:
我需要每个单元格行从特定列(范围)生成随机选择
下面是我设置的图片和失败的尝试:
答案 0 :(得分:1)
你可以这样做:
=RAND()
在数据集旁边添加随机数。我使用了列B
,但你可以把它放在任何你喜欢的地方。将此公式添加到单元格C2
到H2
=INDEX($A$2:$A$21,RANK.EQ(INDEX($B$2:$B$21,COLUMN()-2),$B$2:$B$21))
工作原理:
RAND()
返回[0..1)
范围内的随机数。这用作数据的随机排序顺序COLUMN()-2
会将1..6
列的序号C
返回到H
INDEX($B$2:$B$21, ... )
从随机数列表中返回1st
到6th
号码RANK.EQ( ... ,$B$2:$B$21)
返回已排序随机数列表1..20
中随机数的位置。 =INDEX($A$2:$A$21, ... )
根据上面的随机排名从您的数据集中返回一个项目。注意:每次Excel重新计算时,都会返回一个新的randon样本。
答案 1 :(得分:0)
进行不重复的随机选择的唯一方法是创建一个整数数组,而不是随机选择它,而不是一个一个地取出。
例如,您从:
开始1 2 3 4 5 6 7
随机化它(随机交换元素)
2 4 5 1 7 3 6
比你逐一拿出元素。 (保留一些单元格中使用的元素的索引)
答案 2 :(得分:0)
这里有一个技巧,添加另一列随机数,而不是选择随机列和范围列,然后单击排序按钮(图片来自libreoffice,但excel中有一个类似的按钮)这将随机化您的范围列。比你简单地给“w-1”指定值:“w-6”像这样= B2,= B3,= B4,= B5,= B6,= B7
我尝试了这个并且它的工作方式与您想要的一样,唯一的问题是它会在您的范围列中随机播放值。