Tính tổng lũy kế từng nhân viên, theo năm tài chính. Quy định năm tài chính bắt đầu từ ngày 01/04.
Link: Onedrive
![]() |
| Tổng lũy kế theo năm tài chính |
Công thức:
1.=LET(a,A2:A20,b,ROW(a),d,YEAR(EDATE(+B2:B20,-3)),MMULT((a=TOROW(a))*(d=TOROW(d))*(b>=TOROW(b)),C2:C20))
2.=SCAN(0,B2:B20,LAMBDA(b,c,LET(f,LAMBDA(d,IFERROR(YEAR(EOMONTH(d+0,-4)+1),)),r,OFFSET(c,,1),IF(f(OFFSET(c,-1,))=f(c),b+r,r))))
3.=LET(a,A2:A20,b,YEAR(EDATE(+B2:B20,-3)),SCAN(0,(a=DROP(VSTACK(0,a),-1))*(b=DROP(VSTACK(0,b),-1))*10^9+C2:C20,LAMBDA(a,v,MOD(v,10^9)+IF(v>10^9,a))))
4.=LET(n,A2:A20,i,EDATE(--B2:B20,-3),SCAN(0,ROW(n)-1,LAMBDA(a,v,a*(INDEX((YEAR(i)=YEAR(DROP(VSTACK(0,i),-1)))*(n=A1:A19),v))+INDEX(C2:C20,v))))
5.=SCAN(0,C2:C20,LAMBDA(a,v,v+IF((OFFSET(v,-1,-2)=OFFSET(v,,-2))*(YEAR(EDATE(OFFSET(v,,-1),-3))=IFERROR(YEAR(EDATE(OFFSET(v,-1,-1),-3)),)),a)))
6.Python
df = xl("A1:C20",1)
df.groupby([df['Name'],pd.to_datetime(df['Month-Year']).apply(lambda x: f'{x.year}-{x.year+1}' if x.month>=4 else f'{x.year-1}-{x.year}')])['Sales'].cumsum()
