Dữ liệu ngày đăng ký làm việc của nhân viên, mỗi nhân viên có thể đăng ký 1 hoặc nhiều ngày làm việc khác nhau. Bạn cần dò tìm và tổng hợp lại danh sách:
Link: Onedrive
![]() |
| Thống kê nhân viên làm việc trong ngày được chỉ định |
Công thức:
1.=LET(a,B2:G13,f,LAMBDA(s,TOCOL(IFS(a,s),3)),b,SEQUENCE(J2-I2+1,,I2),REDUCE({"Ngày","Nhân viên"},b,LAMBDA(x,v,VSTACK(x,HSTACK(v,ARRAYTOTEXT(FILTER(f(A2:A13),f(a)=v)))))))
2.=LET(a,B2:G13,b,TOCOL(a,1),GROUPBY(b,TOCOL(IFS(a,A2:A13),3),ARRAYTOTEXT,,0,,(b>=I2)*(b<=J2)))
3.=LET(s,SEQUENCE(1+J2-I2,,I2),HSTACK(s,MAP(s,LAMBDA(r,TEXTJOIN(", ",,REPT(A2:A13,B2:G13=r))))))
4.=LET(f,I2,d,SEQUENCE(J2-f+1,,f),HSTACK(d,MAP(d,LAMBDA(e,ARRAYTOTEXT(TOCOL(IFS(B2:G13=e,A2:A13),3))))))
5.Python:
d = xl("A1:F13",True).melt(id_vars = 'Nhân viên', value_name = 'Date').dropna()
r = d[(d['Date'] >= xl("I2")) & (d['Date'] <= xl("J2"))].groupby('Date')['Nhân viên'].apply(lambda x: ', '.join(list(x)))
