有一张包含资源和周数以及每周可用时间(小时)的表格。像这样。
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)
告诉你需要多少周。如果找不到答案,它将返回零