Tính Số Tháng Làm Việc Trong Khoảng Điều Kiện

Dữ liệu là thời gian làm việc của nhân viên. Tính số tháng làm việc của nhân viên tương ứng theo vùng mốc thời gian G1:L1.


Link: Onedrive

Tính số tháng làm việc trong từng mốc thời gian

Công thức:
1.G2:L11=SUMPRODUCT(N(MATCH(EDATE($C2,ROW(INDIRECT("1:"&DATEDIF($C2,$D2,"M")+1))-1),IFERROR(--(1&"/"&LEFT($F$1:$L$1,7)),""))=COLUMN(B1)))

2.=HSTACK(B1:B11,REDUCE(G1:L1,D2:D11,LAMBDA(x,v,IFERROR(VSTACK(x,MAP(G1:L1,LAMBDA(s,LET(a,SEQUENCE(v-@+C11:v+1,,@+C11:v),ROWS(UNIQUE(TEXT(FILTER(a,(a<=IFERROR(--("1/"&TEXTAFTER(s,"- ")),TODAY())*(a>=--("1/"&TEXTBEFORE(s,"- "))))),"m/e"))))))),""))))

3.=HSTACK(B1:B11,REDUCE(G1:L1,D2:D11,LAMBDA(x,v,VSTACK(x,LET(a,SEQUENCE(v-@+C11:v+1,,v,-1),b,G1:L1,IFNA(VLOOKUP(b,GROUPBY(LOOKUP(a,--("1/"&TEXTSPLIT(b," ")),b),TEXT(a,"m/e"),LAMBDA(s,ROWS(UNIQUE(s))),,0),2,),""))))))

4.=HSTACK(B1:B11,REDUCE(G1:L1,D2:D11,LAMBDA(x,v,VSTACK(x,TOROW(DROP(FREQUENCY(--UNIQUE(TEXT(SEQUENCE(v-@+C11:v+1,,@+C11:v),"m/e")),TEXTBEFORE(G1:L1," ")-1),1))))))


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