当前位置:首页 > 教育综合 > 正文

如何将已知N个数值分配至单个固定小于固定数

excel总数固定随机区间数值分配怎么做?

首先要说的是,Excel的随机数函数rand和randbetween所生产的随机数是正态分布的,也就是所产生的随机数的平均值与随机数上下限平均值是接近的,数据量越大,两个平均值越接近。
所以你要求36个数,在120~280之间,总和为8640,是很难一次直接通过一个公式得到期望的结果的。因为120与280的平均值是200,而36个数字总和为8640,其平均值为240,差距很大。
再说随机函数,在Excel中随机数函数称为易失性函数,简言之,就是函数得到的结果会在一定的条件下,如工作表中有任何的操作、编辑等操作,数据都会发生变化。而生成的随机数达到要求后,一般要求固定下来吧。那就得用到Excel的循环引用——直接或间接引用单元格本身。这里就是在生成的随机数满足要求后,单元格直接引用单元格本身,即已有的数据,从而保持不变。要循环引用,就得在Excel的选项中的公式选项卡内,把“启用迭代计算”打上对勾后确定。
本问题的基础方法,如图中的A列,选择A1:A36,输入公式:
=IF(ABS(SUM(A$1:A$36)-8640)>0,RANDBETWEEN(120,280),A1)
按同时按Ctrl+Enter2个键,一次完成公式输入(也可以先只输入A1的公式后下拉)
因为如前面据说的原因,36个数的和(A37)并没有达到预期的结果。如果有耐心,一直按F9,直到A37=8640后,再按F9不发生变化。但估计很难得到结果。
图中C列,把随机数的下限修改为200,这样200和280的平均值等于36数的平均值,输入完公式立即得到一组结果。
既要得到结果,又希望随机数的范围(上下限)不变,目前想到的办法只有一个折衷的办法,36个数中一小部分范围为120~280,另一部分把下限加大,如200。这样把平均值向36个数的平均值靠近。如图中的E列,E1:E10取范围120~280,E11:E36取范围200~280。只要数次F9即固定下来了。

Excel给个数值将已知条件数值求自动分配个数等于给定数值

规划求解是做这个事情的,设置2个约束条件,数量为整数,数量之和<=5, 目标值为=SUMPRODUCT(A2:A10,B2:B10)-484 ,求最小值。 只是按你图片中的数字限制数量最多5个的话,即使选用最大的数字50,50*5=250,远远不到484呢。

excel如何将n个数随机排列成m个数字(n你的随机排列,可以使用函数:=rand() 返回 0-1的一个随机数,然后和你的N个数 运算下,下拉 应该可以实现

Excel按固定比例随机分配数据?

如果你对这些10%、6.66%要求不是很严格,随机数会不断刷新变化也可接受的话,下面的公式会得到比较满意的结果,比如结果在B1:B80000中:

B1=CHOOSE(LOOKUP(RANDBETWEEN(1,10),{1,4,8},{1,2,3}),RANDBETWEEN(1,3),RANDBETWEEN(4,9),RANDBETWEEN(10,12))

下拉到B8000。下图是模拟结果。如果需要完全吻合,且得到的结果固定下来,公式要复杂些。请再追问。

公式思路,前3个数字和后3个数字各占30%,中间6个数字点40%。先在8万个单元格中生成8万个1~10的随机数,按Excel的随机数原理(开始回答时,前面有一段稍微说明Excel随机数原理的,但百度就是不让提交,删除后才提交成功),10个数字基本上各占8千个。用lookup来区分,随机数小于4,就按choose中的第1个随机数公式,4~7,就按第2个随机数公式,8~10,就按第3个。从而达到按指定的比例得到随机数。

EXCEL中怎么用函数求N个数字合计等于固定数值,并返还选择对应的单元格

在C3单元格输入=SUMPRODUCT(B2:B30,D2:D30) 然后在“数据”选项下的“规划求解”中,以C3单元格为目标单元格,目标值为4216.3,以D2:D30为可变单元格,并添加可变单元格的约束条件为“二进制bin”(非0即1),然后求解,即可得到对应项目上标记1的效果。

展开全文阅读