用不同的参数和存储值多次运行模拟
考虑一个基于固定值(在下面的例子中, 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? 请注意,上面的例子是真实的简化版本。 应该清楚,我需要计算B3
– B6
所以我可以计算总和。
更新:
每个计算都需要几列。 例如,我们将使用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能够自动增加公式中的索引。