Gibt den Spaltenkopf zurück, wenn die progressive Differenz der Werte in einer Zeile <= 0 wird

368
Catalin Valeanu

Ich habe eine Excel-Tabelle mit dem Anfangsbestand für einen Artikel und dem voraussichtlichen Verbrauch basierend auf den entsprechenden Daten im Kopf. Ich möchte das Datum abrufen, an dem es zu einem Engpass kommen wird, indem ich die progressive Differenz berechnet. Ich zeige nur eine Zeile, aber normalerweise habe ich etwa 3000 Zeilen. Ich würde gerne eine Formel finden, die das Datum des Mangels für jede Zeile zurückgibt.

Was ich erreichen möchte, ist:

  • Fügen Sie eine Spalte hinzu, die das Engpassdatum anzeigt: erfassen 2
  • das Datum entspricht dem Zeitpunkt, zu dem die Aktie negativ wird (siehe Abbildung, wie ich das berechne) erfassen 3
1
Bitte füge eine Beschreibung und einen Screenshot hinzu, was du erreichen möchtest, damit andere versuchen können, dies aus deinen Eingabedaten zu erhalten (bitte poste mehr Eingabedaten). Sie erwähnen auch ein Array, aber es ist nicht klar, wo sich dieses Array befindet. Fügen Sie weitere Details und ein vollständiges, reproduzierbares Beispiel hinzu. simlev vor 5 Jahren 0
@simlev - Ich habe in meinem Beitrag weitere Informationen hinzugefügt. lass es mich wissen, wenn jetzt klar ist. Ich habe eine Reihe von Verbrauchswerten (pro Datum), die vom Bestand abgezogen werden (Lager - Datum1 - Datum 2 - Datum 3 usw.). Ich bin also gespannt, an welchem ​​Datum die Aktie unter 0 fällt. Vielen Dank! Catalin Valeanu vor 5 Jahren 0

1 Antwort auf die Frage

0
simlev

Möglicherweise kann dies mit einer Formel durchgeführt werden, die die Größen SUM, OFFSET und INDEX verwendet.
Ich kümmere mich jedoch nicht um komplexe Formeln und greife stattdessen auf ALT+ zurück 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 

Beispieldaten und Ergebnisse:


Wenn Sie für jedes Element eine Berechnungszeile hinzufügen, wie in einem Ihrer Screenshots gezeigt, können Sie das gewünschte Datum leicht mit einer Array-Formel erhalten (sieht für meinen Geschmack immer noch zu komplex aus):