![当一行中值的渐进差异小于等于 0 时返回列标题](https://linux22.com/image/1572198/%E5%BD%93%E4%B8%80%E8%A1%8C%E4%B8%AD%E5%80%BC%E7%9A%84%E6%B8%90%E8%BF%9B%E5%B7%AE%E5%BC%82%E5%B0%8F%E4%BA%8E%E7%AD%89%E4%BA%8E%200%20%E6%97%B6%E8%BF%94%E5%9B%9E%E5%88%97%E6%A0%87%E9%A2%98.png)
答案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
样本数据和结果:
如果你添加计算每一项的行,如您的一张截图所示,您可以使用数组公式轻松获取所需的日期(对我来说仍然太复杂了):