Tìm 10 ngày liên tiếp mỗi cửa hàng, có số lượng bán ra cao nhất.
Ví dụ: Cửa hàng CH-001 ngày bắt đầu 11/02/2025, vậy 10 ngày liên tiếp sẽ là số lượng tổng đến ngày 20/02 và số lượng chỉ là 2507. Số lượng từ ngày 13/02 đến 22/02 là 2683, nên đó sẽ là thời gian vàng của cửa hàng.
Link: Onedrive
![]() |
| Trích xuất 10 ngày liên tiếp, số lượng cao nhất mỗi cửa hàng |
Công thức:
1.=REDUCE({"Store","Period","Total Qty"},UNIQUE(B2:B32),LAMBDA(v,w,VSTACK(v,LET(a,A2:A32,b,B2:B32,c,C2:C32,d,MIN(XLOOKUP(w,b,a)),e,SEQUENCE(MAX(a)-d+1,,d),f,MAP(e,LAMBDA(x,SUM((a=x)*(b=w)*c))),g,MAP(e,LAMBDA(z,SUM(TAKE(FILTER(f,e<=z),-10)))),h,MAX(g),i,XLOOKUP(h,g,e,,,-1),j,"dd/mm/e",HSTACK(w,TEXT(i-9,j)&"-"&TEXT(i,j),h)))))
2.=LET(F,LAMBDA(i,TEXT(i,"dd/mm/e")),c,B2:B32,d,A2:A32,m,HSTACK(c,F(d)&" - "&F(d+9),MAP(c,d,LAMBDA(a,b,SUMIFS(C2:C32,c,a,d,">="&b,d,"<"&b+9)))),REDUCE(E1:G1,UNIQUE(c),LAMBDA(i,x,VSTACK(i,TAKE(SORT(FILTER(m,c=x),3,-1),1)))))
3.=LET(a,A2:A32,b,a+9,c,B2:B32,d,SUMIFS(C2:C32,c,c,a,">="&a,a,"<="&b),e,SORT(HSTACK(c,a,d),{1,3},{1,-1}),DROP(GROUPBY(TAKE(e,,1),DROP(e,,1),HSTACK(LAMBDA(x,TEXT(@x,"dd/mm/e")&TEXT(@x+9,"-dd/mm/e")),SINGLE),,0),1))
4.=LET(d,A2:A32,c,B2:B32,e,d+9,g,SORT(HSTACK(c,TEXT(d,"dd/mm/e")&TEXT(e," - dd/mm/e"),SUMIFS(C2:C32,c,c,d,">="&d,d,"<="&e)),3,-1),GROUPBY(TAKE(g,,1),DROP(g,,1),SINGLE,,0))
5.=LET(a,A2:A32,b,B2:B32,c,C2:C32,I,CHOOSECOLS,t,MAP(a,b,LAMBDA(x,y,SUM(FILTER(c,(b=y)*(a<x+10)*(a>=x),0)))),g,GROUPBY(b,t,MAX,,0),m,I(g,1),n,I(g,2),f,XLOOKUP(m&n,b&t,a),HSTACK(m,TEXT(f,"dd/mm/e")&TEXT(f+9," - dd/mm/e"),n))
6.Python (Xem trong file)
