Füllstandberechnung - Lösung für Zirkelbezug gesucht
20.08.2024 14:51:45
MrSimpleT
ich versuche eine Formel zu erstellen um den Füllstand von 4 Absorbern (Container) minutengenau für die nächsten 48 Std. darzustellen.
Leider komme ich an dem Zirkelbezug gerade nicht weiter (glaub ich seh den Wald vor lauter Bäumen nicht mehr)... vielleicht kann mir ja jemand von euch helfen?!
Zur Situation:
Es gibt eine Zuleitung über welche alle 4 Absorber immer gleichzeitig befüllt werden.
Ausnahme: Ein Absorber befindet sich in der Entleerungsphase. Dann werden nur die restlichen 3 Absorber befüllt.
Es gibt ein maximales Fassungsvermögen und einen Startwert (Aktueller Füllstand) je Absorber.
Sobald ein Absorber voll ist, wechselt dieser automatisch in die Entleerungsphase. Diese hat eine fixe Dauer.
Die Formel soll im ersten Feld eingetragen werden und per ausfüllen auf die gesamte Tabelle übertragen werden. Und ich wollte VBA vermeiden, da mir mittlerweile echt die Übung fehlt. 🙈
Die Formel:
=WENN(AC3="X";
0;
WENN(UND(AC3=0;$Z4-MAXWENNS($Z$3:$Z$1443;$AB$3:$AB$1443;"X")$B$10);
0;
WENN(ODER(ZÄHLENWENN($AC3:$AF3;0)>0;ZÄHLENWENN($AC3:$AF3;"X")>0);
WENN(AC3+($F$2/$E$10)
WENN(AC3+($F$2/$E$6)
AC3+($F$2/$E$6);
"Exception!"
))))
Erklärung zur Formel:
=WENN(AC3="X";
0;
// "X" bedeutet in meiner Liste "Start der Entleerung", Das heißt der Absorber steht während der Entleerungszeit nicht zur Verfügung. Die nächsten 52 Minuten wird hier nicht mehr befüllt. Nach dem Entleerungsprozess steht der Füllstand des Absorbers wieder auf 0. (Und während der Entleerung schreibe ich auch 0en rein, damit die Entleerung erkenntlich ist.)
WENN(UND(AC3=0;$Z4-MAXWENNS($Z$3:$Z$1443;$AB$3:$AB$1443;"X")$B$10);
0;
//wenn in der Zelle darüber eine 0 steht und das letzte "X" nicht länger her ist, als die Entleerungszeit, dann soll weiterhin 0 ausgegeben werden, solange bis die Entleerungszeit erreicht ist. Hier ist auch mein Zirkelbezug. Die Maxwenns Funktion berechnet die Dauer der aktuellen Entleerung. Hier fehlt mir die Idee wie man das anders abfragen könnte.
WENN(ODER(ZÄHLENWENN($AC3:$AF3;0)>0;ZÄHLENWENN($AC3:$AF3;"X")>0);
WENN(AC3+($F$2/$E$10)
//wenn in der Zeile darüber irgendwo eine 0 oder ein X steht, heißt das, es ist eine Entleerung im Gange, und die Befüllungsmenge muss auf 3 Absorber verteilt werden. Gleichzeitig darf der Absorber nicht überfüllt werden.
WENN(AC3+($F$2/$E$6)
AC3+($F$2/$E$6);
//sofern keine der obigen Bedingungen zutrifft, ist keine Entleerung im Gange, somit wird die Füllmenge auf die 4 Absorber verteilt. Und darf nicht überfüllt werden.
"Exception!"
))))
//Ausnahmefall, falls keine der obigen Bedingungen eintrifft und Formel-Ende
Ich hoffe ich war mit der Erklärung soweit verständlich und danke schon einmal ganz herzlich für eure Hilfe!
Hier ist die zugehörige Excel-Datei:
https://www.herber.de/bbs/user/171716.xlsx
Viele Grüße und auf bald
Robert
Anzeige