求助大神,在EXCEL表格中随机生成一组数据,要求平均值在给定的范围,如何写这个公式?

求助大神,在EXCEL表格中随机生成一组数据,要求平均值在给定的范围,如何写这个公式?

光有平均值不行,还要有最大值和最小值,这样才可以用RAND函数生成一组中前面的数据,剩下最后一个数据用其他公式得到。
比如你要生成平均值为80,数据范围在60-100之间的10个数,先在A1输入公式:
=60+INT(RAND()*41)
将公式向下复制到A9
然后在A10输入公式:
=80*10-SUM(A1:A9)
如果A10不在60-100范围内,可以按F9得到下一组数据。
最后可以用复制、选择性粘贴将其固定下来。追问

请问下,为什么不使用 =RAND()*(100-60)+60 而是使用 =60+INT(RAND()*41) 这个是个人习惯还是有其他什么考量?比如说会不会是 INT 函数生成的数值偏大?

追答

这两个公式的原理是一样的。
但=RAND()*(100-60)+60 得到的是小数,且最大值是达不到100,除非外加ROUND函数。
而=60+INT(RAND()*41)得到的是整数,且最大值是100。

追问

最关键的是用这样的方法只能一组一组的生成数据然后挑选,而我需要同时生成好些组数据,这样一来操作就有些麻烦了。所以可以有更方便的方法吗?

追答

你可以用这个方法生成若干组数据(你要100组就生成300组),然后用选择性粘贴固定下来。
最后在旁边加一行或一列用公式判断最后一个数据是否符合要求,删除不符合要求的行或列就可以了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-06
公式好像没啥好办法,因为只要有一个单元格有变化,哪怕是在空格子上按个DEL键,所有使用RAND函数的数值都会变化。

你就直接 RAND() 然后 另找一个空格子算那组数的平均数,然后再找一个空格子按DEL键 看平均数符合你的要求 就把这 组数 复制——选择性粘贴——数值——到新的地方。

A1=RAND()
向下粘贴公式。如果你需要0到10之间的 就 rand()*10 要 5到8之间的就rand()*3+5
B1=AVERAGE(A:A)
第2个回答  2014-03-06
建议用minitab,那个貌似很容易生成。追问

也许这个软件更专业,但应该不会和我们通用的OFFICE软件兼容吧?就像WPS,毕竟WPS也可以打开OFFICE文档。

相似回答