kingwizard
Thành viên mới

- Tham gia
- 23/7/16
- Bài viết
- 36
- Được thích
- 1
Bạn nên đưa file mẫu đầy đủ lên xem cụ thể thế nào, có thêm dữ kiện nào không nữa thì may ra mới hỗ trợ được, chứ đưa nửa chừng thế này thì khó làm lắm.Chào mọi người, nhờ mọi người giúp đỡ chỉnh sửa công thức thế nào để cột D có thể sắp xếp theo thứ tự ABC được ạ.
Vậy thì chịu rồi, dữ liệu cung cấp chỉ có vậy nếu làm thì vẫn bán thủ công. Chắc bạn chịu khó chờ thành viên khác hỗ trợ thôi.Các cột khác cũng chỉ chứa các thông tin về loại hàng thôi ạ
Với lại mình cũng chỉ có thể đưa form như thế này thôi, bạn thông cảm
Chào mọi người, nhờ mọi người giúp đỡ chỉnh sửa công thức thế nào để cột D có thể sắp xếp theo thứ tự ABC được ạ.
D5 =IFERROR(INDEX($C$5:$C$13,MATCH(IF(WEEKDAY(B5)=2,0,SUM(COUNTIF($C$5:$C$13,$D$4:D4))),COUNTIFS($C$5:$C$13,"<"&$C$5:$C$13),0)),"")
Từng vùng một thì được ngay, nhưng như bài #4 em bảo là với dữ liệu này thi vẫn chỉ bán thủ công thôi anh.Nhấn Ctrl+Shift+Enter, Copy xuốngMã:D5 =IFERROR(INDEX($C$5:$C$13,MATCH(IF(WEEKDAY(B5)=2,0,SUM(COUNTIF($C$5:$C$13,$D$4:D4))),COUNTIFS($C$5:$C$13,"<"&$C$5:$C$13),0)),"")
Tạo công thức tương tự cho các vùng khác
Công thức chung vẫn được nhưng dài và rối nên mình không làm.Tùng vùng một thì được ngay, nhưng như bài #4 em bảo là với dữ liệu này thi vẫn chỉ bán thủ công thôi anh.
Em vẫn chưa tìm ra điểm để nhận diện cách biệt giữa các vùng anh ạ.Công thức chung vẫn được nhưng dài và rối nên mình không làm.
Excel 365 có thể gọn hơn.
Bắt đầu là Monday, kết thúc vùng là Sunday, vùng đầu và cuối có thể khác biệt chút ítEm vẫn chưa tìm ra điểm để nhận diện cách biệt giữa các vùng anh ạ.
Có thể có ngày không phát sinh bán hàng nên vùng không phải luôn bắt đầu từ Monday và kết thúc tại Sunday. Ngoài ra còn phải xét trường hợp ngày cuối cùng của tuần bán nhiều hơn 1 mặt hàng.Bắt đầu là Monday, kết thúc vùng là Sunday, vùng đầu và cuối có thể khác biệt chút ít
Công thức sau sử dụng cho Excel 2021 trở lên:Chào mọi người, nhờ mọi người giúp đỡ chỉnh sửa công thức thế nào để cột D có thể sắp xếp theo thứ tự ABC được ạ.
D2=LET(x,A2,ax,A$2:x,xz,x:A$37,a,MAX(ax),wd,WEEKDAY(a,3),fr,XLOOKUP(a-wd-1%,ax,ax,,1),y,XLOOKUP(a+6-wd+1%,xz,xz,,-1),to,OFFSET(XLOOKUP(y+1%,xz,xz,OFFSET(y,1,),1),-1,0),IFERROR(INDEX(SORT(UNIQUE(OFFSET(fr:to,,2)&"")),ROWS(fr:x)),""))
Thử chơi vầy (đúng như anh @HieuCD nói nó rối rắm), chỉ đúng khi loại hàng là ký tự chữ cái "A,B,C...Z"Em vẫn chưa tìm ra điểm để nhận diện cách biệt giữa các vùng anh ạ.
=IFERROR(CHAR(AGGREGATE(15,6,CODE($C$2:$C$37)/(MATCH($C$2:$C$37,IF(WEEKNUM($A$2:$A$37+N(+$A$1:$A$36)*($A$2:$A$37=0),2)=WEEKNUM(MAX(A$2:A2),2),$C$2:$C$37),)=ROW($1:$37)),COUNT(1/(WEEKNUM($A$2:$A2+N(+$A$1:$A1)*($A$2:$A2=0),2)=WEEKNUM(MAX(A$2:A2),2))))),"")
Nhấn Ctrl+Shift+Enter, Copy xuốngMã:D5 =IFERROR(INDEX($C$5:$C$13,MATCH(IF(WEEKDAY(B5)=2,0,SUM(COUNTIF($C$5:$C$13,$D$4:D4))),COUNTIFS($C$5:$C$13,"<"&$C$5:$C$13),0)),"")
Tạo công thức tương tự cho các vùng khác
Có thể có ngày không phát sinh bán hàng nên vùng không phải luôn bắt đầu từ Monday và kết thúc tại Sunday. Ngoài ra còn phải xét trường hợp ngày cuối cùng của tuần bán nhiều hơn 1 mặt hàng.
--
Công thức sau sử dụng cho Excel 2021 trở lên:
Mã:D2=LET(x,A2,ax,A$2:x,xz,x:A$37,a,MAX(ax),wd,WEEKDAY(a,3),fr,XLOOKUP(a-wd-1%,ax,ax,,1),y,XLOOKUP(a+6-wd+1%,xz,xz,,-1),to,OFFSET(XLOOKUP(y+1%,xz,xz,OFFSET(y,1,),1),-1,0),IFERROR(INDEX(SORT(UNIQUE(OFFSET(fr:to,,2)&"")),ROWS(fr:x)),""))
Em chóng mặt quá các anh ơi.Thử chơi vầy (đúng như anh @HieuCD nói nó rối rắm), chỉ đúng khi loại hàng là ký tự chữ cái "A,B,C...Z"
Mã:=IFERROR(CHAR(AGGREGATE(15,6,CODE($C$2:$C$37)/(MATCH($C$2:$C$37,IF(WEEKNUM($A$2:$A$37+N(+$A$1:$A$36)*($A$2:$A$37=0),2)=WEEKNUM(MAX(A$2:A2),2),$C$2:$C$37),)=ROW($1:$37)),COUNT(1/(WEEKNUM($A$2:$A2+N(+$A$1:$A1)*($A$2:$A2=0),2)=WEEKNUM(MAX(A$2:A2),2))))),"")
Vậy, phải tăng 'nồng độ' để em nó ( @Hoàng Tuấn 868 ) xây xẩm, "thuyền chìm tại quán" khỏi sợ kiểm tra nồng độ khi đang trên đường "dìa dinh".Vầy thì làm chơi chứ chắc không áp dụng được.
--
Mà hình như có gì đó sai sai.
View attachment 301734
=IFERROR(CHAR(AGGREGATE(15,6,CODE($C$2:$C$42)/(MATCH($C$2:$C$42,IF(WEEKNUM(INDEX($A$2:$A$42,MATCH(COUNTIF(OFFSET($A$2,,,ROW($1:$42)),">0"),COUNTIF(OFFSET($A$2,,,ROW($1:$42)),">0"),)),2)=WEEKNUM(MAX(A$2:A2),2),$C$2:$C$42),)=ROW($1:$42)),COUNT(1/(WEEKNUM(N(INDEX($A$1:$A2,MATCH(COUNTIF(OFFSET($A$1,,,ROW($1:2)),">0"),COUNTIF(OFFSET($A$1,,,ROW($1:2)),">0"),))),2)=WEEKNUM(MAX(A$2:A2),2))))),"")