Dữ liệu tên nhân viên nghỉ của từng nhóm theo các ngày. Bạn cần tổng hợp lại (1 ngày cớ thể nhiều người nghỉ hoặc không).
Link: Onedrive
![]() | |
|
Công thức:
1.=GROUPBY(A1:A11,B1:F11,LAMBDA(s,TEXTJOIN(", ",,s)),3,0)
2.=LET(b,A1:A11,a,UNIQUE(b),HSTACK(a,MAP(a&B1:F1,LAMBDA(s,TEXTJOIN(", ",,REPT(B1:F11,s=b&B1:F1))))))
3.=LET(a,B2:F11,L,LAMBDA(x,TOCOL(IFS(a>0,x),2)),IFNA(EXPAND(A1,2,2),PIVOTBY(L(A2:A11),L(B1:F1),L(a),ARRAYTOTEXT,,0,,0)))
4.=REDUCE(A1:F1,UNIQUE(A2:A11),LAMBDA(a,v,VSTACK(a,HSTACK(v,BYCOL(FILTER(B2:F11,A2:A11=v),LAMBDA(x,TEXTJOIN(", ",,x)))))))
5.=LET(b,A1:A11,a,B1:F1,c,UNIQUE(b),HSTACK(c,MAKEARRAY(ROWS(c),COLUMNS(a),LAMBDA(r,v,TEXTJOIN(", ",,REPT(B1:F11,(b=INDEX(c,r))*(a=INDEX(a,v))))))))
6.Python
df = xl("A1:F11",1)
(df.groupby("Date")[df.filter(like="Group").columns].agg(lambda x: ", ".join(x.dropna())).reset_index())
