Tổng Hợp Kế Hoạch Sản Xuất Theo Ngày Từng Line

Bảng dữ liệu là kế hoạch chạy máy từng ngày (gồm có ngày, tên nhân viên chạy máy, Line chạy và sản lượng). 

  • Tổng hợp từng ngày, với mỗi Line có những nhân viên nào.
  • Tổng sản lượng theo những nhân viên đó.
  • Với các Line không có nhân viên hoạt động, sẽ để trống
  • Mỗi Line sẽ có cột nhân viên chạy và cột tổng sản lượng.

Link: Onedrive

Tổng hợp KHSX theo từng line vào mỗi ngày

Công thức:
1.=LET(H,HSTACK,a,PIVOTBY(A2:A21,C2:C21,H(B2:B21,D2:D21),H(ARRAYTOTEXT,SUM),,0,,0),VSTACK(H(A1,TAKE(a,1,-8)&TOROW(IF({1},{""," Sum"},ROW(1:4)))),DROP(a,2)))

2.=LET(c,C2:C21,H,HSTACK,VSTACK(H(A1,TOROW(UNIQUE(c)&{""," Sum"})),DROP(PIVOTBY(A2:A21,c,H(B2:B21,D2:D21),HSTACK(ARRAYTOTEXT,SUM),,0,,0),2)))

3.=LET(a,A2:A21,c,C2:C21,r,UNIQUE(c),REDUCE(HSTACK(A1,TOROW(r&{""," Sum"})),UNIQUE(a),LAMBDA(x,i,VSTACK(x,TOROW(HSTACK(i,MAP(r,LAMBDA(r,TEXTJOIN(", ",,REPT(B2:B21,(c=r)*(a=i))))),IFERROR(1/(1/SUMIFS(D2:D21,a,i,c,r)),"")),3)))))

4.=LET(e,A2:A21,c,C2:C21,u,UNIQUE(c),y,UNIQUE(e),w,HSTACK(u,u),q,VSTACK(HSTACK(A1,TOROW(w&{""," Sum"})),HSTACK(y,MAP(SEQUENCE(ROWS(y),ROWS(u)*2),y&TOROW(w),LAMBDA(v,a,IF(ISODD(v),TEXTJOIN(", ",,

5.=LET(a,A2:A21,b,UNIQUE(a),c,C2:C21,d,TOROW(IF(SEQUENCE(2),TOROW(UNIQUE(c))),,1),e,ISODD(SEQUENCE(,COLUMNS(d))),HSTACK(b,MAKEARRAY(ROWS(b),COLUMNS(d),LAMBDA(s,v,INDEX(LET(r,IF(e,IF((a=INDEX(b,s,1))*(c=d),B2:B21,""),(a=INDEX(b,s,1))*(c=d)*D2:D21),n,BYCOL(r,SUM),IF(e,BYCOL(r,LAMBDA(x,TEXTJOIN(", ",,x))),IF(n,n,""))),v)))))

6.Python
df = xl("A1:D21",1)
s =pd.unique(df.Line)
v = lambda r,i: [', '.join((d:=df[df.Line==r][df['Date']==i]).Name),s if(s:=sum(d.Qty))>0 else '']
[['Date']+[b for a in [[r,r+' Sum'] for r in s] for b in a]]+[[i]+[b for a in [v(r,i) for r in s] for b in a] for i in np.unique(df['Date'])]
Đăng nhận xét (0)
Mới hơn Cũ hơn