首页 > 解决方案 > 比较两个表,根据日期获取总和并减少下一条记录的总和

问题描述

第一张表:所需数量

  Ship From   Material   Req Date    Req Quantity   Fulfill(Y/N)?  
 ----------- ---------- ----------- -------------- --------------- 
         21   Mat1       7/1/2018              46                  
         21   Mat1       8/19/2018             33                  
         21   Mat1       9/2/2018              99                  
         21   Mat1       9/2/2018               4                  
        106   Mat1       9/16/2018             92                  
        106   Mat1       8/19/2018            126                  
        457   Mat2       8/19/2018            126                  
        457   Mat2       9/10/2018            126                  
        457   Mat2       9/10/2018            126                  
        457   Mat2       9/10/2018             24                  
        478   Mat2       9/2/2018              52                  
        478   Mat2       9/10/2018             73                  
        478   Mat2       9/10/2018             18                  
        478   Mat2       9/16/2018             30     

第二个表:可用库存

  Ship From   Material   Inv Available Date   Available Qty  
 ----------- ---------- -------------------- --------------- 
         21   Mat1       6/15/2018                       46  
         21   Mat1       6/15/2018                       33  
         21   Mat1       7/2/2018                        99  
         21   Mat1       10/2/2018                        4  
        106   Mat1       10/16/2018                      92  
        106   Mat1       7/19/2018                      126  
        457   Mat2       8/19/2018                      126  
        457   Mat2       8/10/2018                      126  
        478   Mat2       9/16/2018                       30  
        478   Mat2       10/2/2018                       52  

我们需要在 Inv 可用日期或之前检查第二张表中是否有足够的库存(sum(Available qty)),并在表 1 上标记是否可以履行订单。

请注意,对于在表 1 上完成的订单,我们需要从表 2 中减少数量总和。

我有 excel 中的数据,我们可以编写 excel 公式(vba)或数据透视表来实现这一点,或者我可以将它加载到 SQL 中。

我在 table1 中有 70k 行,在 table2 中有 600k 行。
我尝试了电源查询,但无法实现我想要的。
任何帮助将不胜感激。

标签: excelvba

解决方案


无论您选择哪种方法,比较从 70K 行到 600K 行相关数据的聚合总数都需要一些计算能力,但我觉得简单的 SUMIFS 与 SUMIFS 是一个可行的选择。

您在 7 月 1 日从 21 日开始运送 46 个 mat1,但当天您有 79 个库存,因此可以发货。与 8 月 19 日相同。但是,在 9 月 2 日,您有 99 和 4 的订单,但由于之前发货的库存耗尽,您只能完成其中一个订单。在 10 月 2 日补充库存之前,无法完成第二个订单。同样,mat2 的两个订单可以从 457 完成,但第三个订单不能。来自 478 的第一批 mat2 将延迟发货,这会减少可用数量,因此如果没有额外库存,则根本无法进行第二批发货。

在 E3 每个提供的图像中,

=IF(SUMIFS(K:K, H:H, A3, I:I, B3, J:J, "<="&C3)>=SUMIFS(D$3:D3, A$3:A3, A3, B$3:B3, B3, C$3:C3, "<="&C3), "Y", "N")

在此处输入图像描述


推荐阅读