Also habe ich darüber nachgedacht, wie ich das programmieren soll ...
Es gibt Produkt A mit zwei verschiedenen Palettenmengen (Menge 8 und Menge 10). Wenn der Kunde bestellt (zB 72 Stück von Produkt A), muss ich es manuell in 4 Paletten (10 Stück / Stück) und 4 Paletten (8 Stück / Stück) aufteilen.
Ich möchte eine Excel-Tabelle erstellen, in der jedes Mal, wenn ich eine bestellte Menge eingebe, Excel automatisch berechnet, wie viele Paletten es sind und wie viele auf jeder Palette vorhanden sind.
Weiß jemand, wie das geht?
microsoft-excel-2010
Jane Lee
quelle
quelle
Antworten:
Eigentlich ist es reine Mathematik:
10x + 8y = z wobei z Ihre gewünschte Gesamtmenge ist
Wenn Sie wissen möchten, ob Sie volle Paletten haben oder nicht, empfehle ich, den größten gemeinsamen Faktor der obigen Gleichung zu suchen, der in diesem Fall 2 ist.
Ergebnis: Wenn z / 2 = Ganzzahl und positiv ist, können Sie volle Paletten verwenden.
Wenn Sie wissen möchten, wie viele Paletten von jeder Palette verwendet werden sollen, müssen Sie folgende Schritte ausführen:
Inkrementiere y um 1, solange du keine positive ganze Zahl für x hast, also:
y = y + 1
Daraus ergibt sich folgende Gleichung für x:
x = (z-8y) / 10 wobei z Ihr Gesamtbetrag und y die automatisch inkrementierte Zahl ist
kombiniert mit dem y-Zitat von oben:
// Diese Schleife nicht starten, wenn z / 2 nicht ganzzahlig und positiv ist
Zum anderen, wenn Sie Paletten zufällig öffnen wollen: Beispiel
10x + 8y = 72
Teilen Sie Ihre Menge durch die höchste Menge pro Palette und teilen Sie den Rest durch die kleinste Menge pro Palette
72 = 10x => x = 7,2
Die ganze Zahl ist hier 7, nehmen Sie also 7 Paletten zu 10 und 2 Einheiten einer Palette zu 8 Einheiten.
Wenn der Rest des Quotienten> = 8 ist, können Sie mindestens 1 volle Palette von 8 nehmen.
Die Implementierung in Excel kostet Sie viel Programmierarbeit und wie in den Kommentaren vorgeschlagen, sollten Sie besser nach dem Add-On "Solver Excel" suchen, das ich ebenfalls noch nicht verwendet habe.
quelle
Versuche dies. Annahmen: 1) Sie möchten die wenigsten Paletten versenden. 2) Sie möchten die kleinste Menge> = in der gewünschten Menge versenden.
Zunächst springe ich zu meinem Endergebnis:
Die angeforderte Menge 72 ist in A2 und die Palettengrößen in B1 und C1.
B2 enthält:
=FLOOR(A2/B1,1)
(die meist ganz großen Paletten ohne Anforderung geht über)C2 enthält:
=CEILING(MOD(A2,B1)/C1,1)
(kleine Paletten benötigt , um den Rest zu füllen, auf eine ganze Palette Aufrundung)Mit einigem nicht trivialem Hackery kann dies auf mehr als zwei Palettengrößenoptionen erweitert werden.
quelle