对于这样的数据,用函数加一层排序判断就可以了,录入函数=SORT(SORT(FILTER(表1[[入库日期]:[现存量]],表1[现存量]<>0),1,-1),2,1),这里需要特别注意的是,多次排序的判断。在此处如果用SORTBY判断的话,非常复杂,换个思路用回SORT判断,这样就简单而高效了;
到了这一步就可以在边上写自动判断扣减库存的函数了,为了方便大家学习,用辅助列分别写出,后续可以直接合并
判断1:=K2-SUMIFS($E$2:E2,$B$2:B2,B2),用库存减去累计入库数量;
判断2:=IF(L2>0,E2,E2 L2),如果是大于0,说明库存分配到这张单上的全部数量,小于0,就是相加,就是可以扣部分;
判断3:=IF(M2>0,M2,0),如果大于0就是显示回判断2,否则显示为0
到这一步就可以看到每个物料的库龄了,但是这样分析起来不方便,需要做一个天数范围分析定义,如15天内,15-30天,30天到60天,60到90天,大于90天以上这样的范围,我们只需要提前录入好范围,再用VLOOKUP的模糊判断返回这个定义范围就可以了;
判断4:=IF(N2=0,0,VLOOKUP(J2,Q:R,2,1))
最后一步就是分析了,金额这一列,录入公式=SUMIFS(G:G,O:O,R2),效果如下图