Thống Kê Sản Phẩm Từng Bộ Phận Theo Tháng

Dữ liệu gồm thời gian từng sản phẩm được chạy của các bộ phận. Bạn cần sắp xếp lại các sản phẩm theo bộ phận và tháng.

Link: Onedrive

Thống kê sản phẩm theo bộ phận và tháng

Công thức:
1.=LET(a,A2:A16,b,C2:D16,c,MIN(b),d,UNIQUE(EOMONTH(SEQUENCE(,MAX(b)-c+1,c),-1)+1,1),REDUCE(HSTACK(A1,TEXT(d,"mmm-y")),UNIQUE(a),LAMBDA(x,v,VSTACK(x,IFNA(REDUCE(v,d,LAMBDA(s,r,HSTACK(s,FILTER(B2:B16,(a=v)*(r>=EOMONTH(+C2:C16,-1)+1)*(r<=D2:D16),"")))),REPT(v,HSTACK(0,d)=0))))))

2.=LET(a,DROP(REDUCE(0,D2:D16,LAMBDA(x,v,VSTACK(x,CHOOSE({1,2,3},@+A16:v,@+B16:v,UNIQUE(TEXT(SEQUENCE(v-@+C16:v+1,,v,-1),"m-e")))))),1),b,SEQUENCE(ROWS(a)),c,TAKE(a,,1),d,DROP(a,,2),e,c&d,n,--("1-"&d),IFNA(IFS({1,0;0,0},A1),DROP(PIVOTBY(HSTACK(XMATCH(c,c),BYROW((e=TOROW(e))*(b>=TOROW(b)),SUM),c),HSTACK(n,TEXT(n,"mmm-yy")),INDEX(a,,2),SINGLE,,0,,0),1,2)))

3.=LET(s,C2:C16,f,D2:D16,e,EDATE(@+s,SEQUENCE(,DATEDIF(@+s,MAX(f),"m")+2,0)),REDUCE(HSTACK(A1,TEXT(e,"mmm-y")),UNIQUE(A2:A16),LAMBDA(j,y,VSTACK(j,IFNA(HSTACK(y,DROP(REDUCE("",e,LAMBDA(i,x,LET(m,FILTER(B2:D16,A2:A16=y),IFNA(HSTACK(i,FILTER(TAKE(m,,1),MAP(INDEX(m,,2),INDEX(m,,3),LAMBDA(a,b,MONTH(MEDIAN(x,a,b))=MONTH(x))),"")),"")))),,1)),y)))))

4.=LET(da,A2:D16, pj,TAKE(da,,1),mm,EOMONTH(MIN(da),SEQUENCE(,DATEDIF(MIN(da),MAX(da),"m")+1)-2)+1,f,LAMBDA(p,LET(t,REDUCE("",mm,LAMBDA(a,v,HSTACK(a,IFERROR(TOCOL(BYROW(FILTER(da,pj=p),LAMBDA(r,IFS(MEDIAN(EOMONTH(INDEX(r,3),-1)+1,INDEX(r,4),v)=v,INDEX(r,2)))),2),"")))),IFNA(HSTACK(IF(SEQUENCE(ROWS(t)),p),DROP(t,,1)),""))),REDUCE(HSTACK(A1,TEXT(mm,"mmm-yy")),UNIQUE(pj),LAMBDA(A,v,VSTACK(A,f(v)))))

5.Python (Xem trong file)
Đăng nhận xét (0)
Mới hơn Cũ hơn