我需要根据正在传输的体积的累积总和创建一个新的传输ID。假设最初所有东西都是用卡车A运输的,容量为25.现在我想将这些物品分配给卡车B(容量15)的货物。
唯一真正的限制是运输不能超过容量。
由于限制,我无法发布图片......但总体设置如下:
Old Trans # Volume New Trans # Cumulative Volume for Trans
1 1
1 9
1 3
1 7
1 4
2 9
2 10
3 8
3 5
3 9
4 4
4 6
4 8
5 9
5 1
5 5
5 8
6 3
6 4
6 3
6 4
6 4
6 7
7 7
7 10
7 4
8 10
8 6
8 7
9 4
9 9
9 6
10 7
10 4
10 1
10 1
10 5
10 2
11 9
11 3
11 9
12 8
12 5
12 9
13 9
预期输出将是前三个条目将导致新的货件ID为1;接下来的两个条目将导致新的货件ID为2;依此类推......我已经尝试过了我知道的(不包括VBA):索引/查找/如果函数。我的VBA技能非常有限。任何提示?谢谢!
答案 0 :(得分:0)
可以编写一个简单的公式,“浮动”每个连续加载ID的范围总计。
在下文中,我在D1:E1中输入了 25 和 15 ,并使用了自定义数字格式 I \ D 0 。通过这种方式,可以识别列,并且可以将单元格引用为真正的数字负载限制。如果您愿意通过覆盖 D $ 1 ,您可以将限制硬编码到公式中,但是您不会有一个适合所有公式的公式,可以正确地复制到备用负载限制,因为我有在我的例子..
D2中的公式是,
=IF(ROW()=2, 1, (SUM(INDEX($B:$B, MATCH(D1, D1:D$1, 0)):$B2)>D$1)+ D1)
根据需要向右填充E2,然后向下填充。
答案 1 :(得分:0)
我想我看到你在这里尝试做什么,只是使用IF公式(并插入一个新列来跟踪):
在C列和D列中,将这些公式插入第3行并向下复制(对于您想要的新卷容量,将其更改为15):
C列:= IF(B3 + C2 <15,B3 + C2,B3)
列D:= IF(B3 + C2 <15,D2,D2 + 1)
对于细胞C2和D2:
C2:= B2
D2:= A2
这是你想要做的吗?