Tìm Máy Cuối Cùng Nhân Viên Sử Dụng Sau Thay Đổi

Dữ liệu chạy máy theo từng nhân viên. Nhưng trong quá trình sử dụng, máy được thay đổi chạy nhiều lần, và bạn cần tìm ra máy đã thay đổi cuối cùng đó.

Ví dụ: 
- Máy 6 đã được thay đổi thành Máy 10, rồi từ 10 lại thành 13, và cuối cùng Máy 13 được đổi thành Máy 20. Nên kết quả cuối cùng của Máy 6 sẽ thành Máy 20.
- Những máy không có sự thay đổi, sẽ được giữ nguyên.

Link: Onedrive

Tìm máy cuối cùng sau những thay đổi

Công thức:
1.=LET(f,LAMBDA(f,x,LET(a,IFNA(VLOOKUP(x,D2:E8,2,),x),IF(AND(x=a),a,f(f,a)))),f(f,B2:B20))

2.=REDUCE(B2:B20,E2:E8,LAMBDA(x,v,IF(x=@+D8:v,v,x)))

3.=REDUCE(B2:B20,ROW(1:9),LAMBDA(x,v,IFNA(XLOOKUP(x,D2:D8,E2:E8),x)))

4.Python
k = xl("D1:E8",1)
i  = dict(zip(k["Trước"],k["Sau"]))
def f(v):
    while v in i:
        v = i[v]
    return v
xl("B1:B20",1)["Máy"].apply(f)

Đăng nhận xét (0)
Mới hơn Cũ hơn