当一行中值的渐进差异小于等于 0 时返回列标题

当一行中值的渐进差异小于等于 0 时返回列标题

我有一张 Excel 表格,其中包含某项产品的初始库存和基于标题中相应日期的预计消耗量。我想通过计算累进差额来检索即将出现短缺的日期。我只显示了一行,但通常我有大约 3000 行。我想找到一个公式来返回每一行的短缺日期。

我想要实现的目标是:

  • 添加显示短缺日期的列: 捕获 2
  • 该日期对应于股票变为负数的时间(参见图片了解我如何计算) 捕获 3

答案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

样本数据和结果:

在此处输入图片描述


如果你添加计算每一项的行,如您的一张截图所示,您可以使用数组公式轻松获取所需的日期(对我来说仍然太复杂了):

在此处输入图片描述

相关内容