1

У меня есть таблица Excel с начальным запасом для позиции и прогнозируемого потребления на основе соответствующих дат в заголовке. Я хотел бы получить дату, когда будет дефицит, вычисляя прогрессивную разницу. Я показываю только одну строку, но обычно у меня около 3000 строк. Я хотел бы найти формулу, которая возвращает дату дефицита для каждой строки.

То, что я хотел бы достичь, это:

  • добавить столбец с указанием даты дефицита: захват 2
  • дата соответствует моменту, когда акция станет отрицательной (см. рисунок, чтобы узнать, как это сделать) захват 3

1 ответ1

0

Может быть, это можно сделать с помощью формулы, использующей 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

Пример данных и результатов:


Если вы добавите строку « Расчет» для каждого элемента, как показано на одном из ваших снимков экрана, вы можете легко получить требуемую дату с помощью формулы массива (все еще выглядит слишком сложной для моих вкусов):

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .