Sản lượng từng ngày của nhân viên, cùng với ID máy chạy. Tổng hợp thành bảng mới:
Link: Onedrive
![]() |
| Tổng hợp sản lượng theo nhân viên |
Công thức:
1.=LET(a,TEXTSPLIT(ARRAYTOTEXT(B2:B16),"/",", "),f,LAMBDA(v,TOCOL(IFS(a>0,v),3)),HSTACK(VSTACK({"Name","ID Machine"},GROUPBY(f(a),f(A2:A16),ARRAYTOTEXT,,0)),DROP(PIVOTBY(f(a),TEXT(f(C2:C16),"mmm"),f(D2:D16/BYROW(N(ISTEXT(a)),SUM)),SUM,,0,,1),,1)))
2.=LET(a,DROP(REDUCE(0,D2:D16,LAMBDA(x,v,VSTACK(x,LET(z,TEXTSPLIT(@+B16:v,,"/"),CHOOSE({1,2,3,4},z,@+A16:v,@+C16:v,v/ROWS(z)))))),1),b,TAKE(a,,1),c,INDEX(a,,3),m,DROP(PIVOTBY(b,TEXT(c,{"mm","mmm"}),TAKE(a,,-1),SUM,,0),1,1),HSTACK(VSTACK({"Name","ID Machine"},GROUPBY(b,INDEX(a,,2),ARRAYTOTEXT,,0)),IF((TAKE(m,,1)>"a")*(TAKE(m,1)=""),"Tổng",m)))
3.=LET(H,HSTACK,a,A2:A16,b,B2:B16,c,MONTH(C2:C16),d,SORT(UNIQUE(TEXTSPLIT(TEXTJOIN("/",,b),,"/"))),n,TOROW(SORT(UNIQUE(c))),m,MAP(-n&d,LAMBDA(r,IFERROR(SUM(TOCOL(IFS(SEARCH(r,SUBSTITUTE("/"&b,"/","-"&c)),D2:D16/(LEN(b)-LEN(SUBSTITUTE(b,"/",))+1)),3)),""))),VSTACK(H(B1,A1,TEXT(n*30,"mmm"),"Tổng"),H(d,MAP(d,LAMBDA(s,ARRAYTOTEXT(FILTER(a,1-ISERR(SEARCH(s,b)))))),m,BYROW(m,SUM))))
4.=LET(a,A2:D16,b,CHOOSECOLS(a,2),c,CHOOSECOLS(a,3),k,SORT(UNIQUE(TOCOL(TRIM(TEXTSPLIT(TEXTJOIN(";",,b),"/",";")),3))),L,TOROW(UNIQUE(TEXT(SORT(c),"mmm"))),s,MAP(k,LAMBDA(V,TEXTJOIN(",",,IF(ISNUMBER(SEARCH(V,b)),CHOOSECOLS(a,1),"")))),p,CHOOSECOLS(a,4)/(LEN(b)-LEN(SUBSTITUTE(b,"/",""))+1),g,MAKEARRAY(ROWS(k),COLUMNS(L),LAMBDA(N,M,SUM(p*(TEXT(c,"mmm")=INDEX(L,M))*ISNUMBER(SEARCH(INDEX(k,N),b))))),t,BYROW(g,LAMBDA(rw,SUM(rw))),VSTACK(HSTACK("Name","ID",L,"Tổng"),HSTACK(k,s,g,t)))
