найти комбинацию целевого значения, равного 0, VBA - PullRequest
0 голосов
/ 20 декабря 2018

Мне нужно найти комбинацию значений, которая будет иметь общую сумму, равную нулю в Excel.Решатель может предоставить решение для ненулевых значений.Однако это не работает, если целевое значение = 0. Не могли бы вы помочь мне в этом.Что я сделал: я пытался решить, но это неправильно, если мы используем целевой суммы = 0.Я использовал похожие коды, доступные в сети.Но ничего не получилось.

Example details in the image

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Решатель не предоставит решение, если целевая сумма равна 0.

Мое решение:

1) найти сумму значений.

2) использовать суммув качестве целевого значения.

3) Теперь решатель даст решение для целевого значения.

4) если вы отделите оставшиеся значения, вы получите комбинацию значений, сумма которых равна 0

0 голосов
/ 20 декабря 2018

Попробуйте:

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

...