答案1
也许可以使用 SUM、OFFSET 和 INDEX 之类的公式来完成。
但是,我不喜欢复杂的公式,而是使用ALT+ F11。
Sub DateOfShortage()
StartLine = 2
EndLine = 6
StartColumn = 3
EndColumn = 7
For Line = StartLine To EndLine
Stock = Cells(Line, 2)
For Column = StartColumn To EndColumn
Stock = Stock - Cells(Line, Column).Value
If Stock <= 0 Then
Cells(Line, EndColumn + 1).Value = Cells(1, Column).Value
Exit For
End If
Next Column
Next Line
End Sub
样本数据和结果:
如果你添加计算每一项的行,如您的一张截图所示,您可以使用数组公式轻松获取所需的日期(对我来说仍然太复杂了):