查找等于0的目标值组合

时间:2018-12-20 12:54:10

标签: excel vba solver

我需要找到在Excel中总和等于零的值的组合。求解器可以为非零值提供解决方案。但是,如果目标值= 0,则该方法不起作用。我做了什么:我尝试了求解器,但是如果我们使用目标总和= 0,那是不正确的。我使用了网上可用的类似代码。但是没有结果。

Example details in the image

2 个答案:

答案 0 :(得分:1)

如果目标总和为0,Solver将不会提供解决方案。

我的解决方法是:

1)找到值的总和。

2)使用总和作为目标值。

3)现在,求解器将给出目标值的解决方案。

4)如果将其余的值分开,则将得到总和为0的值的组合

答案 1 :(得分:0)

尝试:

Option Explicit

Sub test()

    Dim Target As Double, OpTarget As Double
    Dim i As Long, j As Long, LastRow

    With ThisWorkbook.Worksheets("Sheet1")
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = 2 To LastRow
            Target = .Range("A" & i).Value
            OpTarget = "-" & Target

            .Range("B" & i).Value = OpTarget
            .Range("C" & i).Value = Application.WorksheetFunction.Sum(.Range("A" & i & ":B" & i))
        Next i

    End With

End Sub

输出:

enter image description here