Tính tổng sản lượng lũy kế từng máy. Loại bỏ đi các ngày có tổng sản lượng lớn hơn Target đưa ra.
Link: Onedrive
![]() |
| Loại bỏ ngày tổng sản lượng lũy kế lớn hơn Target |
Công thức:
1.=LET(f,FILTER(A2:D38,SCAN(0,D2:D38,LAMBDA(a,v,IF(@+B38:v,@+B38:v,a)-v))>=0),VSTACK(A1:D1,IF(f=0,"",f)))
2.=LET(b,B2:B38,a,ROW(b),c,SCAN(0,b>0,SUM),d,FILTER(A2:D38,MMULT((a>=TOROW(a))*(c=TOROW(c)),D2:D38)<=XLOOKUP(c,c,b)),VSTACK(A1:D1,IF(d>0,d,"")))
3.=REDUCE(A1:D1,TOCOL(A2:A38,1),LAMBDA(x,v,VSTACK(x,LET(a,XLOOKUP(v,A2:A35,D2:D35):XLOOKUP(v,A2:A36,A6:A40),y,FILTER(a,SCAN(0,TAKE(a,,-1),SUM)<=INDEX(a,1,2)),IF(y=0,"",y)))))
4.Python
df = xl("A1:D38",1).ffill()
df = df[df.groupby('Máy')['Sản lượng'].cumsum().le(df['Target'])].reset_index(drop=True)
df.loc[df.groupby('Máy').cumcount().gt(0),['Máy','Target']]=""
df
