求EXCEL平均数问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:47:17
不是AVERAGE求平均数,是已知一个平均数,如200,要求在其他单元格生成几个数字,这几个数字满足一定上下限,而它们的平均数等于200.请高手指教.谢谢.

比如你平均数为200,要求生成四个随机数,这四个数在100-400之间.

Sub M1()
Randomize '起始乱数产生器
Dim r() As Integer
ReDim r(1 To 4)
Do
For i = 1 To 4
r(i) = 100 + Int(200 * 2 * Rnd()) '建立100 到200*2以内的随机数
Next
Loop Until (r(1) + r(2) + r(3) + r(4)) / 4 = 200 '直到4个数相加再/4的结果为200为止
Range("a1:d1") = r '把这4个数写入a1:d1

End Sub

A列输入200,B列输入=-5+RAND()*(5-(-5)) 回车并下拉,C列=A1+B1回车并下拉。再汇总C列,并适当调整偏差。

把要填数据的单元格分成两个区域,area1和area2,其中area1只有一个单元格。
area2中的公式:=rand()*(上限-下限)+下限
area1中的公式:=200*单元格个数-sum(area2)

只是个初步想法,好像不好保证最后area1这个单元格中的数能满足范围限制。

上下限没有规定?