用不同的参数和存储值多次运行模拟

考虑一个基于固定值(在下面的例子中, D3 )执行一些计算的电子表格并且是迭代的。 例如

 D3: 4 B3: 12 B4: 58 (=B3*$D$3+10) B5: 242 (=B4*$D$3+10) B6: 978 (=B5*$D$3+10) Total = 1290 (=sum(B2:B5)) 

现在,假设我想尝试D3不同值(我们称之为P )并存储我得到的不同总计,即

 P Total 4 1290 5 2252 6 3618 7 5460 

我如何使用Excel来做到这一点? macros? 请注意,上面的例子是真实的简化版本。 应该清楚,我需要计算B3B6所以我可以计算总和。

更新:

每个计算都需要几列。 例如,我们将使用B3,B4, ..C3,C4, ...

一个macros可以做到这一点。 如果B7包含总和公式,试试这个

 Sub RunSimulation() Dim p as long for p = 4 to 7 Range("D3")=p Debug.Print Range("B7") Range("L" & (p-1)) = Range("B7").Value next End Sub 

编辑:添加一行来存储结果,按要求。

如果您不想在工作表中input总和公式,则可以在VBA中计算总和:

 Dim total as Long Dim row as long total = 0 for row = 2 to 5 total = total + Range("B" & row) Next Debug.Print total 

(如果您正在处理浮点数,请使用Double而不是Long 。)

通常按以下方式完成:

  ABCD 1 x tmp1 tmp2 Total 2 3 $A2+10 $B2*10+10 $C2*$B2 The formulae are just for example. 3 $A2+1 $A3+10 $B3*10+10 $C3*$B3 4 $A3+1 $A4+10 $B4*10+10 $C4*$B4 

Excel能够自动增加公式中的索引。