我可以将工作表用作 Excel 中的函数吗?

我可以将工作表用作 Excel 中的函数吗?

我设置了一个工作表,这样我就可以输入一个值,做一些数学运算来得到一堆值,重复几次数学运算,然后把所有的值加起来并返回一个输出值。它非常复杂,以至于每次测试新输入时复制和粘贴所有单元格是不切实际的。当我必须测试 2 或 3 个不同的参数时,这没问题,但现在我需要测试 50 个不同的输入并创建一个图表,我需要一些帮助。

有什么方法可以创建一个包含 50 个输入值的表格,以某种方式将它们输入到工作表中,并获取输出值,以便我可以制作图表?使用 vb-script 的选项可以工作。

编辑:我已包含大部分计算,其中 A2 中的值是输入值,D10 中的值是输出值。请参阅下图

在此处输入图片描述

答案1

我过去的做法是使用 vba 将所有值输入到适当的单元格中,让 excel 进行计算,然后使用类似下面的宏复制结果。我在下面放了一张测试表的图片。显然,您的测试表会更详细,您可能会将表格放在与计算不同的工作表上。G5 中的公式是 sum(G2:G4)。存储结果的 D 列中没有公式。

Sub get_data()
Dim dataA As Double, dataB As Double, dataC As Double, dataOutput As Double
Dim lastRow As Long, currentRow As Long

With ActiveSheet
    lastRow = .Range("A" & .Rows.Count).End(xlUp).Row

    For currentRow = 2 To lastRow
        'Read in data from table
        dataA = .Range("A" & currentRow).Value
        dataB = .Range("B" & currentRow).Value
        dataC = .Range("C" & currentRow).Value

        'Put data into worksheet
        .Range("G2").Value = dataA
        .Range("G3").Value = dataB
        .Range("G4").Value = dataC

        'You could also avoid the variables by putting it directly into the cell without variable
        '.Range("G2").Value = .Range("A" & currentRow).Value
        'etc

        Calculate

        'store results in variable
        dataOutput = .Range("G5").Value

        'Put results back in table
        .Range("D" & currentRow).Value = dataOutput
    Next
End With

End Sub

在此处输入图片描述

答案2

您可以使用 Excel 中的数据表来实现此目的:

  1. 您在行或列中列出您的输入(因此它们代表表格轴)。
  2. 然后转到“假设分析”>“数据表”。
  3. 向导会提示您输入输入和输出字段。然后,它会将每个输入的输出值粘贴到每个输入旁边。

相关内容