Excel - 从多个输入输出计算结果

时间:2011-02-04 20:10:13

标签: excel iteration

我有一个电子表格,用于设计线性菲涅尔收集器:

基本上,它具有可以输入设计参数的单元格,例如镜子数量,镜子宽度。然后它给我其他参数,例如长度浓度,比率等。计算(和电子表格)非常复杂,改变单元格,记录输出,更改单元格等是不切实际的。

我想要做的是比较镜像宽度和镜子数量的许多不同组合。 (比如2个输入单元,6个输出单元)。

有没有办法让excel生成一个大表,结果迭代两个参数而不必手动执行? speadsheet太复杂了,不能将每个变量放在一列中并向下拖动。

链接到电子表格的图片:

http://i.stack.imgur.com/Sjraw.png

P.S。我不知道任何VB,所以不需要的解决方案很棒

3 个答案:

答案 0 :(得分:2)

您可以使用一个或多个data tables(在Excel 2007中引入),但我不确定当您想要捕获多个输出值时它的效果如何。也许为每个输出创建一个表?

答案 1 :(得分:0)

实现这一目标的最简单方法 - 尽管在布局方面不一定很好 - 是将所有计算放入单个列或行中,只需重复列/行,每行/每列的变量都会更改。

答案 2 :(得分:0)

如果这些是您有兴趣迭代的唯一参数,那么解决方案很简单但不漂亮。 (它的格式不会像你在屏幕截图中那样格式化。)

您应该做的是,在另一个工作表中,复制有问题的公式,以便每个参数都在自己的列中。然后在每个结果列中,将公式复制并粘贴到任意数量的单元格中(您也可以通过将一个单元格的一角拖动到列中来完成此操作)。这样做是复制公式,但是使用新单元格将单元格引用向下移动。例如,如果我手动更改了A1和B1,并且C1 = A1 + B1,则在复制和粘贴后,我会得到C2 = A2 + B2,C3 = A3 + B3等。

如果您希望保留一个单元格引用,请在字母和数字前面加上美元符号。因此,如果上面的公式是C1 = $ A $ 1 + B1,那么在复制和粘贴后我会得到C2 = $ A $ 1 + B2,C3 = $ A $ 1 + B3等。

现在,唯一要做的就是自动将一系列值输入到输入列中。假设您正在使用A列。手动将初始值放入A1,然后在A2中放置A2 = A1 +(增量值)。现在根据需要复制并粘贴A2,你将获得A3 = A2 +(增量值),A4 = A3 +(增量值)等。