Excel – 初始值和最终值是已知的,如何以降序生成随机数?

在Excel中,我想要生成1000行的值,我只知道初始值和最终值。

例如,单元格a1 = 0.6,单元格a1000 = 0.2,我希望中间的值在不需要从每行到另一行减less相同数量(随机数量)的缓慢减less,只要它满足初始最终的价值和变化是从大到小的顺序?

任何想法我怎么能创造一个公式来实现这一目标? 谢谢

尽pipe用一个公式可以做到这一点,但是在这两个数字之间的所有998行都被复制下来,我不认为它会给出所需的结果。 相反,我会做三个步骤:

  1. 使用公式计算这两个数字之间的随机数:
    =(RAND()*0.4)+0.2 ,从第2行复制到999
  2. 复制列A并将特殊值>>值复制到其顶部
  3. 按升序对列表进行sorting。

使用Sheet1中的数据运行macrosdural

 Sub dural() Dim v1 As Double, v1000 As Double v1 = Range("A1").Value v1000 = Range("A1000").Value Randomize For i = 2 To 999 Cells(i, "A").Value = Rnd * (v1 - v1000) + v1000 Next i Call SortData End Sub Sub SortData() Columns("A:A").Select ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A1"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A1:A1000") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub 

在这里输入图像说明