Trích Xuất 10 Ngày Liên Tiếp Có Số Lượng Bán Cao Nhất

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)
Đăng nhận xét (0)
Mới hơn Cũ hơn