Excel – 将细胞变化绘制为另一个细胞变化的函数的最佳方法

我有一个巨大的Excel工作簿,我一直在开发一个工程项目的成本分析。 现在,我有一个单元,在那里我input一个储jar的大小,它更新了包含总储蓄的另一个单元。

计算储蓄的过程相当复杂。 我的工作手册中有20页,每一年的操作,每个都参考坦克的大小。 通常我会尝试做两列,并拖动公式为节省下来得到我的X和Y值,但我不认为我可以这样做,因为储蓄单元取决于其他20张。

我想知道的是:什么是最好的方式来绘制坦克的大小和储蓄之间的关系。 理想情况下,我想说“好吧,在这个单元格中,以1000为单位增加0到200万之间的值,然后为每个增量logging储蓄单元的值,然后绘制出来,”但我看起来似乎想出如何做到这一点。

您将需要使用“假设”分析工具之一,特别是数据表或scheme,具体取决于inputvariables的数量:

一般的假设分析:

http://office.microsoft.com/en-us/excel/HA102431641033.aspx

数据表可能是你最好的select,如果你有1或2个inputvariables:

http://office.microsoft.com/en-us/excel/HP100726561033.aspx?pid=CH100648511033

如果你可以使用一些VBA,一个简单的解决scheme可能是(ALT + F11进入编辑器,然后插入模块)

Sub GenerateData() Dim curDataPt As Long, curVal As Long Dim rngOut As Range, rngIn As Range, rngData As Range, rngVar As Range '*** SET VALUES HERE ***' Const maxVal As Long = 2000000 Const minVal As Long = 0 Const stepVal As Long = 1000 Set rngIn = Sheet1.Range("A1") Set rngOut = Sheet1.Range("B1") Set rngVar = Sheet1.Range("D1") Set rngData = Sheet1.Range("E1") '************************' For curVal = minVal To maxVal Step stepVal curDataPt = curVal / stepVal rngIn = curVal rngVar.Offset(curDataPt) = curVal rngData.Offset(curDataPt) = rngOut Next curVal Sheet1.Names.Add "DataIn", rngVar.Resize(curDataPt + 1) Sheet1.Names.Add "DataOut", rngData.Resize(curDataPt + 1) End Sub 

这假设您的储jar的大小在第一张表A1中,总节省在B1中。 代码中的Sheet1是表单对象的代码名称。 在VB编辑器窗口的项目浏览器窗格中查看,以确保这是正确的。

使用这种方法是运行VBA(ALT + F8)生成数据集并使用图表向导生成图表。 但是,在select系列选项卡上的源数据时,请input=Sheet1!DataOut for Values和=Sheet1!DataIn为类别(X)轴标签。

现在您可以使用不同的最小/最大/步进行播放,图表会自动更新数据序列。

这不是你想听到的,但是我有一个类似的复杂的function,我已经发展了一段时间,我想绘制它。 我从来没有弄清楚如何并最终意识到我需要升级我的工具。 我切换到Matlab,从不回头。

我会很感兴趣地跟随这个问题。 我很好奇,看看有没有办法。