Bạn có nhiều bảng kết quả hoạt động của các máy, kèm thông tin nhân viên và muốn hợp nhất thành một bảng đầy đủ? Bài này sẽ chỉ bạn cách:
- Tổng hợp từ nhiều bảng con mà không cần copy–paste thủ công.
- Hàm MMULT xử lý ma trận, giúp tìm chính xác vị trí Máy, OFFSET lấy ra số lượng tương ứng.
Note: Đây là bài nâng cao, giúp bạn rèn kỹ năng vận dụng hàm hợp lý để có kết quả nhanh và chính xác.
Link: Onedrive
![]() |
| Tổng hợp bảng dữ liệu |
Công thức:
1.I2:M5=SUMPRODUCT(N(OFFSET($A$1,ROW($1:$20)-1,LOOKUP(ROW($1:$20),ROW($1:$20)/(MMULT(N($B$1:$F$20=I$1),ROW($1:$5))>0),MMULT(N($B$1:$F$20=I$1),ROW($1:$5)))))*($A$1:$A$20=$H2))
2.=LET(e,LAMBDA(m,LET(c,COLUMNS(m),f,ROWS(m),TEXTSPLIT(CONCAT(DROP(m,1,1-c)&"*"&DROP(m,1-f,1)&"*"&DROP(m,1,1)&"|"),"*","|",1))),i,LAMBDA(c,INDEX(VSTACK(e(A1:F5),e(A7:F9),e(A11:F12),e(A14:F20)),,c)),a,UNIQUE(i(1)),b,TOROW(SORT(UNIQUE(i(2)))),VSTACK(HSTACK(A1,b),HSTACK(a,WRAPROWS(MAP(TOCOL(a&b),LAMBDA(p,SUM(i(3)*(i(1)&i(2)=p)))),COUNTA(b)))))
3.=LET(f,LAMBDA(x,LET(a,DROP(x,1,1),HSTACK(TOCOL(IFS(a,DROP(x,1,-5))),TOCOL(IFS(a,TAKE(x,1,-5))),TOCOL(a)))),b,VSTACK(f(A1:F5),f(A7:F9),f(A11:F12),f(A14:F20)),c,TAKE(b,,1),IFNA(IFS({1,0;0,0},A1),DROP(PIVOTBY(HSTACK(XMATCH(c,c),c),INDEX(b,,2),DROP(b,,2),SUM,,0,,0),,1)))
4.=LET(V,VSTACK,a,A1:F5,b,A7:F9,c,A11:F12,d,A14:F20,F,LAMBDA(x,[s],TOCOL(IF(x,IFS(s=1,TAKE(x,,1),s=2,TAKE(x,1),s=0,x)),2)),r,V(F(a,1),F(b,1),F(c,1),F(d,1)),IFNA(IFS({1,0;0,0},A1),DROP(PIVOTBY(HSTACK(XMATCH(r,r),r),V(F(a,2),F(b,2),F(c,2),F(d,2)),V(F(a),F(b),F(c),F(d)),SUM,,0,,0),,1)))
