Kannst du mir bitte mit den folgenden helfen? Das Ziel meines Excel-Projekts ist, dass jedes Mal, wenn B in Spalte A gefunden wird, minus die Mengen von A bis zum Erreichen der Menge sind.Subtrahiere einen Betrag von einer Zelle, bis er 0 erreicht, dann bewege und subtrahiere von der nächsten Menge
Nur Werte mit A sind, wo die Größen subtrahiert werden. Das nächste Mal, wenn es das nächste B findet, überprüft es alle über A mit der verbleibenden Menge und so.
ich die unten als gut versucht, war aber nicht erfolgreich.
=IF(A2="B",MAX(SUM($B$2:B2)-OFFSET(A2,0,1),0),"")
Ich dachte über die Entscheidung in einem VBA-Code nach.
Beispiel:
Mit dem ersten „B“ die Sequenz oben ist, der Restbetrag gleich Null (0) 300 -100 weil verlassen Null der Menge gelassen. Die verbleibenden werden 250 abgezogen, wobei ein Rest von übrig bleibt.
Der Restbetrag auf B wird immer Null sein
So, wie es mir scheint, dass alle „A“ sind positiv und alle „B“ sind negativ und die Roll Balance ist: '= SUMME ($ A $ 2: A2;" A "; $ B $ 2: B2) -SUMIF ($ A $ 2: A2;" B "; $ B $ 2: B2)' (in Zelle C2 eingeben und dann kopieren Nieder). Oder fehlt mir etwas? – Ralph
@ralph Mit dem ersten "B" ist die obige Sequenz, die verbleibende Balance ist Null (0), weil 300 -100 Null der verbleibenden Menge verlassen. Die restlichen 200 werden 250 abgezogen, wobei ein Saldo von 50 übrig bleibt. – James
Das ergibt für mich keinen Sinn. Von den ersten beiden "A" -Werten subtrahiert man nur den ersten "B" -Wert und hinterlässt einen Rest von 50. Aber was ist mit dem zweiten "B" -Wert. Würde dieser Rest nicht (wieder) davon konsumiert werden? Vielleicht kannst du im obigen Screenshot das erwartete Ergebnis schreiben und das Bild erneut posten, damit wir wissen, was du willst. Nach Ihrer derzeitigen Logik würde ich die folgenden Werte erwarten: '= MAX (SUMME ($ A $ 2: A2," A ", $ B $ 2: B2) -SUMIF ($ A $ 2: $ A $ 8," B ", $ B $ 2: $ B $ 8), 0) '(in Zelle C2 und dann nach unten kopiert). – Ralph