目标寻求多个目标细胞?

时间:2016-12-15 09:07:29

标签: excel excel-vba vba

我正在进行DCF分析,我想知道是否有可能在多个目标上进行目标搜索。

说我有这些变量组合

Sales Volume = 100,200,300,400 (A1:A4)
Price = 100,200,300,400 (B1:B4)
CAPEX = 1000,2000,3000,4000 (C1:C4)

首先,我将获得这些数组的笛卡尔积,以生成可能的变量组合

Sub Cartesianproduct()

Dim array1(1 To 4) As Long
Dim array2(1 To 4) As Long
Dime array3(1 To 4) As Long


i = 1


For i = 1 To 4

array1(i) = Worksheets(1).Cells(i, "A").Value
array2(i) = Worksheets(1).Cells(i, "B").Value
array3(i) = Worksheets(1).Cells(i, "C").Value

Next i


For i = 1 To 4

    For x = 1 To 4

        For y = 1 to 4

              Z = Z + 1
              Worksheets(1).Cells(Z, "F").Value = array1(i)
              Worksheets(1).Cells(Z, "G").Value = array2(x)
              Worksheets(1).Cells(Z, "H").Value = array3(y)
        Next

    Next

Next

End Sub

然后我想通过根据笛卡尔积设置目标细胞来对NPV进行目标搜索(将在电子表格中连接公式)。因此,当销售量= 100,价格= 100且CAPEX = 1000时,基本上第一个目标寻求将是NPV。

有办法做到这一点吗?

由于

1 个答案:

答案 0 :(得分:0)

使用数据表 - 前2个变量

您可以尝试Excel“Data table feature(MS)”。以下是来自ExcelIsFun Basic Excel Business Analytics #06的视频,解释了如何将数据表与2变量一起使用。

最终将得到4x4网格的前两个变量组合。在图片中,左边的表格。

添加第3个变量

然后,您可以使用经典公式创建另一个表,添加第三个变量。同样,这将是4x4网格,包括第三个变量。

结果

你会得到这样的东西(例如,将所有东西与所有东西相乘):
enter image description here