[英]How to randomly distribute a known group of numbers into a column using Excel / VBA
我坚持使用excel / vba:
我在Excel中有一个10行x 30列的空白数组。 我正在尝试从已知的10组(例如1,1,1,1,1,1,3,5,7,9)中随机分配10个整数,以便该列的每一行都包含一个组(所有组成员都使用一次),并且我需要第二列包含同一组的另一个随机分布,依此类推。
因此,我最终得到30列,每列10行,每列包含相同的10个整数的不同随机分布。 我也希望能够通过重新计算电子表格来更改每一行的分布。
有快速的方法吗? 没有安排30个不同的rand()排序列表并使用查找,我看不到任何方法。 我对VBA不够了解,无法尝试。 如果有人可以指出正确的方向,我将永远感激不已!
也许我缺少明显的东西,尽管仅使用工作表公式似乎并不那么简单。
如果您的原始值列表在A1:A10中,那么在B1中:
=INDEX($A$1:$A$10,RANDBETWEEN(1,10))
在B2中, 数组公式** :
=INDEX($A$1:$A$10,INDEX(MODE.MULT(IF(COUNTIF($A$1:$A$10,$A$1:$A$10)-COUNTIF(B$1:B1,$A$1:$A$10),{1,1}*ROW($A$1:$A$10))),RANDBETWEEN(1,10-ROWS($1:1))))
将以上内容复制到B10。
然后,您可以根据需要将B1:B10中的公式复制到右侧。
问候
**数组公式的输入方式与“标准”公式的输入方式不同。 首先按住CTRL和SHIFT,然后再按Enter,而不是仅按ENTER。 如果操作正确,您会注意到Excel在公式周围使用大括号{}(尽管不要尝试自己手动插入大括号)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.