У меня есть лист с ресурсами и неделей вместе с доступностью в неделю (часы). Вот так.
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)
чтобы дать вам, сколько недель вам понадобится. Он вернет ноль, если не сможет найти ответ