Thay đổi bảng dữ liệu thành dạng bảng. Đảm bảo đầy đủ các cột thông tin theo mỗi người. Dữ liệu thiếu sẽ để trống, khi có nhiều giá trị cần phải nối lại.
Link: Onedrive![]() |
| Thay đổi định dạng bảng dữ liệu |
Công thức:
1.=LET(a,A2:A23,DROP(PIVOTBY(SCAN(0,a=A2,SUM),HSTACK(XMATCH(a,a),a),B2:B23,ARRAYTOTEXT,0,0,,0),1,1))
2.=LET(a,A2:A23,b,TOROW(UNIQUE(a)),c,SCAN(0,a=A2,SUM),d,IFNA(SEQUENCE(MAX(c)),b),VSTACK(b,MAP(IFNA(b,d),d,LAMBDA(x,y,TEXTJOIN(", ",,REPT(B2:B23,a&c=x&y))))))
3.=LET(b,A2:A23,c,SCAN(0,b="Tên",SUM),v,TOROW(UNIQUE(b)),VSTACK(v,MAP(UNIQUE(c)&v,LAMBDA(a,TEXTJOIN(", ",,IF((c=--LEFT(a))*(b=MID(a,2,9)),B2:B23,""))))))
4.=LET(a,A2:A23,b,B2:B23,c,SCAN(0,a,LAMBDA(x,y,IF(y="Tên",1+x,x))),d,MAP(a,c,LAMBDA(x,y,TEXTJOIN(", ",,FILTER(b,(a=x)*(c=y))))),e,TOROW(UNIQUE(a)),VSTACK(e,XLOOKUP(UNIQUE(c)&e,c&a,d,"")))
5.=LET(a,A2:A23,n,SCAN(0,a="Tên",LAMBDA(c,v,c+v)),h,TOROW(UNIQUE(a)),REDUCE(h,UNIQUE(n),LAMBDA(c,m,VSTACK(c,MAP(h,LAMBDA(i,TEXTJOIN(", ",,REPT(B2:B23,(a=i)*(n=m)))))))))
6.=LET(b,A2:A23,s,SCAN(0,b,LAMBDA(i,x, i+(x="Tên"))),t,TOROW(UNIQUE(b)),REDUCE(t,UNIQUE(s),LAMBDA(j,y,LET(f,FILTER(A2:B23,s=y),VSTACK(j,BYCOL(REPT(DROP(f,,1),TAKE(f,,1)=t),LAMBDA(c,TEXTJOIN(", ",1,c))))))))
