Javascript GSheets-生成两个值(固定数字)之间的随机数字列表(固定数量),这两个值相加为一个声明的总和
问题陈述 关于谷歌表单,我目前正在寻找在两个已知值之间生成一个随机固定数量的数字,当添加这些数字时。。。等于已知值 让我们假设我想要10个随机值,当加起来。。。等于100。但是每个值必须在8到12之间,并且在单个列中。所以输出看起来像 八, 9 12 11 8. 9 11 11 9 十二,Javascript GSheets-生成两个值(固定数字)之间的随机数字列表(固定数量),这两个值相加为一个声明的总和,javascript,arrays,Javascript,Arrays,问题陈述 关于谷歌表单,我目前正在寻找在两个已知值之间生成一个随机固定数量的数字,当添加这些数字时。。。等于已知值 让我们假设我想要10个随机值,当加起来。。。等于100。但是每个值必须在8到12之间,并且在单个列中。所以输出看起来像 八, 9 12 11 8. 9 11 11 9 十二, 如何在GSheets或Excel中设置公式以输出此结果?我可以在哪里输入所需数量和期望的最终总数?你会是上帝派来解决这个问题的,谢谢 把你的问题想象成从袋子里挑选球而不更换。共有120个球,10种不同颜色的1
如何在GSheets或Excel中设置公式以输出此结果?我可以在哪里输入所需数量和期望的最终总数?你会是上帝派来解决这个问题的,谢谢 把你的问题想象成从袋子里挑选球而不更换。共有120个球,10种不同颜色的12个球。每种颜色留出8个。将剩余的40个装在一个袋子里,随机选择20个,不更换,与其他80个放在一起。现在有100个球,每个颜色的随机值在8到12之间。然而,由此产生的数字并不是均匀分布的。搜索“不替换采样”以获取分布公式 对于您的特定示例,请将其放入
A1:A10
:
=FREQUENCY(INT((ROUND(MOD(SMALL(RANDBETWEEN(-1e12,SIGN(ROW(INDIRECT("1:40")))*1e12)+ROW(INDIRECT("1:40"))/100,ROW(INDIRECT("1:20"))),1),2)*100-1)/4)+1,ROW(INDIRECT("1:10")))+8
使用Ctrl
+Shift
+Enter提交
为了推广,我将电子表格设置为:
B1
:所需的随机数(如10)
B2
:最小值(如8)
B3
:最大值(例如12)
B4
:所需总数(例如100)
B5
:=(B3-B2)*B1
(可用插槽数)
B6
:=天花板。数学(LOG10((B3-B2)*B1))
B7
:=10^B6
B8
:=B4-B1*B2
(要填充的插槽数)
广义公式为:
=FREQUENCY(INT((ROUND(MOD(SMALL(RANDBETWEEN(-1e12,SIGN(ROW(INDIRECT("1:"&B5)))*1e12)+ROW(INDIRECT("1:"&B5))/B7,ROW(INDIRECT("1:"&B8))),1),B6)*B7-1)/(B3-B2))+1,ROW(INDIRECT("1:"&B1)))+B2
重新计算工作表以获得一组新的数字(Excel中的F9
)到目前为止您尝试了什么?您可以看看这个问题: