以特定顺序生成随机数(符合等式)以生成一系列特定结果

时间:2015-10-11 13:16:03

标签: excel matrix

我想在矩阵(2x2)中生成随机数,以便生成特定范围的结果。特别是结果"决定因素"必须是以下之一:

(1或3或5或7或9或11或13或15或17或19或21或23或25)

并遵守这个等式:

%~f0

(从左到右):

A是矩阵第一行中的第一个单元格 B是矩阵第一行中的第二个单元格 Z是矩阵第二行中的第一个单元格 Y是矩阵第二行中的第二个单元格。

换句话说:我想点击"立即计算"在矩阵中给出四个随机数 - 每次随机产生一个上述结果。

1 个答案:

答案 0 :(得分:0)

改编:

Sub Yahya()
   Dim wf As WorksheetFunction
   Set wf = Application.WorksheetFunction
   Dim detDesired As Long
   result = Array(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25)
   Dim A1 As Range, A2 As Range, B1 As Range, B2 As Range, C3 As Range
   Set A1 = Range("A1")
   Set A2 = Range("A2")
   Set B1 = Range("B1")
   Set B2 = Range("B2")
   Set C3 = Range("C3")

   detDesired = result(wf.RandBetween(0, 12))
   C3 = detDesired
   A1 = wf.RandBetween(1, 20)
   B1 = wf.RandBetween(-10, 10)
   A2 = wf.RandBetween(-10, 10)

   B2 = (C3 + A2 * B1) / A1

End Sub

我们将行列式存储在 C3 中。调整随机选择的域以满足您的需求:

enter image description here

方法是随机选择行列式和四个矩阵元素中的三个;然后计算第四个元素(因为问题受到约束)