比较两个表,根据日期获得总和,并为下一个记录减少总和

时间:2018-06-10 01:52:39

标签: excel excel-vba vba

第一张表:所需数量

  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可用日期或之前检查第二个表格中是否有足够的库存(总和(可用数量)),并在table1上标记我们是否可以履行订单。

请注意,对于表1中履行的订单,我们需要减少表2中的数量总和。

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

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

1 个答案:

答案 0 :(得分:1)

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

您将从01年7月21日起装运46件mat1s,但您在该日期有79件库存,因此可以实现。与8月19日相同。但是,在9月2日,您的订单数量为99和4,但由于先前发货的库存减少,因此只能完成其中一个订单。在2月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")

enter image description here