如何在Excel中生成介于-100到100之间的n个随机数,总和为零?就像我想要的 100 -50 -50 30 -30
基本上为零的随机数
答案 0 :(得分:1)
Razvan在链接线程中的回答非常好。否则,我不确定是否有字面上的答案,但是为了娱乐,请尝试一下...
在单元格A1:T50
中输入此公式:
=RANDBETWEEN(-100,100)
将此总和公式输入到单元格U51
中:
=SUM(A1:T50)
现在确保您可以看到单元格U51
。使用下面的宏(并保存所有其他工作)保存文件并调用宏,确保您保持工作表处于活动状态(请勿切换至其他软件):
Sub sumZero()
Application.Calculation = xlCalculationAutomatic
Do While Range("U51").Value <> 0
Range("U51").Formula = "=SUM(A1:T50)"
Loop
End Sub
我的低功耗笔记本电脑需要5秒钟到3分钟的时间才能得出一组随机选择的数据,总和为零。
答案 1 :(得分:1)
在单元格 B1 中输入公式:
=SUM(A:A)
运行此简短宏:
Sub dural()
Dim N As Long, A As Range
Set A = Range("A:A")
N = Application.InputBox(Prompt:="Enter number of samples", Type:=1)
A.Clear
Range("A1:A" & N - 1).Formula = "=RandBetween(-100, 100)"
Do While Abs(Range("B1")) > 100
Calculate
Loop
A.Value = A.Value
Range("A" & N).Value = -Range("B1").Value
End Sub
宏将询问您所需的样品数量,然后在N A 列中填入N-1个样品。计算第N th 可使和为零。