Найдите столбец, где сумма удовлетворяет условию?

Найдите столбец, где сумма удовлетворяет условию?

У меня есть лист с ресурсами и неделей вместе с доступностью в неделю (часы). Вот так.

Resource 1225 1226 1227 ... 1252
.NET     30   30   15   ... 30
Java     40   40   40   ... 40

В другой таблице у меня есть его данные.

Resource PlannedHours StartWeek EndWeek AvailableHours Diff ActualEndWeek
.NET     326          1225      1242    400            76   ?    
Java     100          1225      1242    400            300  ?

Плановые часы берутся из системы часов проекта/тикетов, начальная и конечная неделя вводятся вручную. Доступные часы и разница рассчитываются из первой таблицы.

Я решил все, кроме последнего столбца, где мне нужна помощь. Как найти неделю, когда доступные ресурсы в первой таблице суммируются и достаточно велики, чтобы покрыть запланированные часы. Мне нужен этот столбец и поместить неделю в столбец actualendweek?

решение1

Function LeastFactors(MyArray As Range, Goal As Double) As Integer
Dim RunningTotal As Double
Dim i As Integer

For i = 1 To MyArray.Count
    RunningTotal = RunningTotal + WorksheetFunction.Large(MyArray, i)
    If RunningTotal >= Goal Then
        LeastFactors = i
        Exit For
    Else
        LeastFactors = 0
    End If
Next i
End Function

использовать будет, =LeastFactors(Sheet1!B2:B40,Sheet2!B2)чтобы дать вам, сколько недель вам понадобится. Он вернет ноль, если не сможет найти ответ

Связанный контент