Thống Kê Nhân Viên Theo Các Cấp Quản Lý

Liệt kê các nhân viên, cùng với các cấp quản lý của họ nếu có.

Ví dụ: Quân có quản lý là Thanh, Thanh lại có quản lý trên là Huấn. Nên Quân sẽ là Quân → Thanh → Huấn.
Trung có quản lý Hương → Quân. Vậy nên Trung sẽ là Trung → Hương → Quân → Thanh → Huấn.


Link: Onedrive

Liệt kê nhân viên cùng các cấp quản lý

Công thức:
1.=LET(e,A2:A10,H,HSTACK,R,LAMBDA(R,a,LET(i,XLOOKUP(a,e,B2:B10,"")&"",IF(OR(i>""),H(a,R(R,i)),a))),d,R(R,e),VSTACK(H(A1,"L"&SEQUENCE(,COLUMNS(d)-1)&" "&B1),d))

2.=LET(e,A2:A10,r,LAMBDA(r,a,LET(b,XLOOKUP(a,e,B2:B10&"",""),IF(OR(b>""),HSTACK(a,r(r,b)),a))),m,r(r,e),VSTACK(HSTACK(A1,"L"&SEQUENCE(,COLUMNS(m)-1)&" "&B1),m))

3.=LET(a,A2:A10,b,B2:B10,c,SEQUENCE(,4),REDUCE(HSTACK(A1,"L"&c&" "&B1),a,LAMBDA(v,w,VSTACK(v,HSTACK(w,SCAN(w,c,LAMBDA(x,y,T(XLOOKUP(x,a,b,"")))))))))

4.=LET(a,A2:A10,b,DROP(REDUCE(0,a,LAMBDA(x,v,VSTACK(x,HSTACK(v,SCAN(v,SEQUENCE(,ROWS(a)),LAMBDA(s,r,TEXT(XLOOKUP(s,a,B2:B10,""),))))))),1),FILTER(b,BYCOL(b>"",OR)))

5.=LET(x,REDUCE(A2:A10,A2:A10,LAMBDA(a,v,HSTACK(a,XLOOKUP(TAKE(a,,-1),A2:A10,B2:B10,0)))),y,FILTER(x,BYCOL(x<>0,OR)),IF(y=0,"",y))

6.=REDUCE(A2:B10&"",SEQUENCE(3),LAMBDA(a,_,HSTACK(a,IFNA(VLOOKUP(TAKE(a,,-1),A2:B10&"",2,0),""))))

7.Python (Xem trong file)
Đăng nhận xét (0)
Mới hơn Cũ hơn