所以,我一直在思考如何编程这个......
有产品 A,有两种不同的托盘数量(数量 8 和数量 10)。当客户订购(例如:72 件产品 A)时,我必须手动将其分为 4 个托盘(每件 10 件)和 4 个托盘(每件 8 件)。
我想在 Excel 上制作一个图表,这样,每当我输入订购数量时,Excel 就会自动计算出有多少个托盘以及每个托盘上的数量是多少。
有人知道怎么做吗?
答案1
这实际上是纯数学:
10x + 8y = z,其中 z 是您想要的总数量
如果您想知道您的托盘是否会满,我建议您寻找上述等式的最大公约数,在本例中是 2。
结果:如果 z/2 = 整数并且为正数,那么您可以使用全托盘。
如果您想知道每个托盘需要使用多少个,您需要执行以下操作:
只要 x 没有正整数,就将 y 增加 1,因此:
y = y + 1
得出 x 的下列方程:
x = (z-8y)/10,其中 z 是您的总金额,y 是自动递增的数字
结合上面的 y 引文:
for (y = 0; x = positive and integer; y = y + 1) {
x = (z-8y)/10;
print x;
print y;
}
// 如果 z/2 不是整数且为正数,则不启动此循环
另一方面,当你想随机打开托盘时:例如
10x + 8y = 72
用你的金额除以每托盘最高金额,再用每托盘最小金额除以剩余金额
72 = 10x => x= 7.2
这里的整数是 7,因此从 10 个托盘中取出 7 个,从 8 个单位中取出 2 个托盘单位。
如果商的余数 >= 8,那么您可以取至少 1 个满托盘的 8 个。
在 Excel 中实现这一点将花费你大量的编程时间,并且像评论中所建议的那样,你最好搜索“Solver Excel”插件,但我还没有使用过它。
答案2
试试这个。假设:1) 您想要运送最少的托盘。2) 您想要运送最小数量 >= 请求数量。
首先,看看我的最终结果:
A B C
1 10 8
2 72 7 1
需求数量 72 在 A2 中,托盘尺寸在 B1 和 C1 中。B2
包含:(=FLOOR(A2/B1,1)
最完整的大托盘,不会超出需求)
C2 包含:(=CEILING(MOD(A2,B1)/C1,1)
填充余量所需的小托盘,四舍五入为整托盘)
通过一些稍微复杂的技巧,可以将其扩展到两种以上的托盘尺寸选项。