Tính số lần xuất hàng liên tiếp theo điều kiện (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

anhkhang.ak1122

Thành viên mới
Tham gia
24/5/23
Bài viết
26
Được thích
4
Em chào các bác. Các bác giúp em tính số lần xuất hàng của các đơn mà có từ 4 ngày liên tiếp xuất hàng trở lên và có số Batch loại A. Em cảm ơn.
 

File đính kèm

Em chào các bác. Các bác giúp em tính số lần xuất hàng của các đơn mà có từ 4 ngày liên tiếp xuất hàng trở lên và có số Batch loại A. Em cảm ơn.
Có 2 cách tại I3:
- Cách 1 : ấn Ctrl+ Shift+ Enter
Mã:
=SUM(--(FREQUENCY(IF(($D$3:$D$50=H3)*(LEFT($E$3:$E$50,1)="A"),ROW($D$3:$D$50)),IF(($D$3:$D$50<>H3)*(LEFT($E$3:$E$50,1)<>"A"),ROW($D$3:$D$50)))>=4))
- Cách 2:
Mã:
=SUMPRODUCT((LEFT($E$3:$E$50,1)="A")*(H3=$D$3:$D$50)*(COUNTIFS($D$3:$D$50,$D$3:$D$50,$E$3:$E$50,$E$3:$E$50)>=4)/(COUNTIFS($D$3:$D$50,$D$3:$D$50,$E$3:$E$50,$E$3:$E$50)))
 
Có 2 cách tại I3:
- Cách 1 : ấn Ctrl+ Shift+ Enter
Mã:
=SUM(--(FREQUENCY(IF(($D$3:$D$50=H3)*(LEFT($E$3:$E$50,1)="A"),ROW($D$3:$D$50)),IF(($D$3:$D$50<>H3)*(LEFT($E$3:$E$50,1)<>"A"),ROW($D$3:$D$50)))>=4))
- Cách 2:
Mã:
=SUMPRODUCT((LEFT($E$3:$E$50,1)="A")*(H3=$D$3:$D$50)*(COUNTIFS($D$3:$D$50,$D$3:$D$50,$E$3:$E$50,$E$3:$E$50)>=4)/(COUNTIFS($D$3:$D$50,$D$3:$D$50,$E$3:$E$50,$E$3:$E$50)))
Cách 2 chưa liên quan đến liên tiếp
 
Cách 2 chưa liên quan đến liên tiếp
Cả hai cách đều không căn cứ vào cột ngày (cột C), nên chắc chắn sẽ bị khiếm khuyết trong công thức và ra kết quả không chính xác.

Có thể dùng công thức sau cho ô I3, (lưu ý: chỉ tính khoảng 50 ngày, từ ngày ô C3. Muốn hơn thì chỉnh số 50 thành 365 trong hàm Row()):
Mã:
=COUNT(1/(FREQUENCY(IF(COUNTIFS($C$3:$C$50,$C$3+ROW($1:$50)-1,$D$3:$D$50,$H3,$E$3:$E$50,"A*"),ROW($1:$50)),IF(COUNTIFS($C$3:$C$50,$C$3+ROW($1:$50)-1,$D$3:$D$50,$H3,$E$3:$E$50,"A*"),,ROW($1:$50)))>3))
Ctrl+Shift +Enter, fill xuống.

Như dữ liệu file kèm sẽ thấy rõ hơn.

/-*+//-*+//-*+/
 

File đính kèm

Lần chỉnh sửa cuối:
Đây có thể là bài tập, thưc tế thì 1 ngày có thể nhiều hơn 1 đơn hàng, hoặc chủ nhật nghỉ => thứ 7 , thứ 2 vẫn tính liên tiếp.
 
Đây có thể là bài tập, thưc tế thì 1 ngày có thể nhiều hơn 1 đơn hàng, hoặc chủ nhật nghỉ => thứ 7 , thứ 2 vẫn tính liên tiếp.
Nếu đúng thế thì UDF là phương án tốt nhất.
Chờ chủ thớt xác nhận xem sao.
 
Đây có thể là bài tập, thưc tế thì 1 ngày có thể nhiều hơn 1 đơn hàng, hoặc chủ nhật nghỉ => thứ 7 , thứ 2 vẫn tính liên tiếp.
Thực ra đúng như bác nói. 1 ngày có nhiều đơn hàng, các đơn hàng thì đã được phân loại theo thị trường của các sheet rồi ạ, nhưng mục đích em chỉ cần đơn đó xuất liền nhau của các ngày thôi, không nhất thiết cần ngày liên tiếp nhau. Phòng kinh doanh họ muốn có số liệu xuất bán hàng để họ đưa ra chiến lược kinh doanh thôi ạ.
 
nhưng mục đích em chỉ cần đơn đó xuất liền nhau của các ngày thôi, không nhất thiết cần ngày liên tiếp nhau
Câu này hơi mơ hồ!
Nghĩa là mặt hàng A trong ngày 1/7 xuất 3 đơn rồi ngưng, đến mãi 10/7 (không liên tiếp) mới xuất tiếp, tổng cộng là 4, vẫn được tính ư?
Thêm nữa:
Giả sử ngày đầu xuất 3 đơn, ngày thứ hai xuất 1 đơn, như vậy TC=4, nhưng ngày liên tiếp chỉ có 2 ngày. Có tính là hàng bán chạy không?
 
Câu này hơi mơ hồ!
Nghĩa là mặt hàng A trong ngày 1/7 xuất 3 đơn rồi ngưng, đến mãi 10/7 (không liên tiếp) mới xuất tiếp, tổng cộng là 4, vẫn được tính ư?
Thêm nữa:
Giả sử ngày đầu xuất 3 đơn, ngày thứ hai xuất 1 đơn, như vậy TC=4, nhưng ngày liên tiếp chỉ có 2 ngày. Có tính là hàng bán chạy không?
Như công ty em có nhiều thị trường xuất, mỗi thị trường sẽ có 1 số đơn nhất đinh cho các năm. Em ví dụ đây là đơn hàng cho 1 thị trường :
Đơn hàng A ngày 01/07/2023 xuất lô số batch là a1, ngày 03/07/2023 cũng a1. ngày 06/07/2023 xuất lô số batch là a1, 07/07/2023 xuất lô số batch là a1. Từ này 01/07 đến ngày 07/07 chỉ có đơn A xuất bán thôi. không có đơn nào khác. Chứ trong 1 đơn hàng nó nhiều sản phẩm mà. Em hiểu ý bác là bán được 3 đơn + 1 đơn. Tên đơn hàng thôi bác, chứ mỗi batch nó rất nhiều size cỡ khác nhau, nhưng chủng loại giống nhau.
 
Đơn hàng A ngày 01/07/2023 xuất lô số batch là a1, ngày 03/07/2023 cũng a1. ngày 06/07/2023 xuất lô số batch là a1, 07/07/2023 xuất lô số batch là a1. Từ này 01/07 đến ngày 07/07 chỉ có đơn A xuất bán thôi. không có đơn nào khác.
Nếu vậy thì xem lại và test kỹ các CT phía trên.
Không biết có phải là các CT trên dựa vào ngày liên tiếp: 1-2-3-4/7/2023 hay không?
Vì theo như bạn nói ngày liên tiếp có thể là không liên tiếp, nhưng chen giữa không có đơn hàng nào khác thì được xem là liên tiếp?
 
Đây có thể là bài tập, thưc tế thì 1 ngày có thể nhiều hơn 1 đơn hàng, hoặc chủ nhật nghỉ => thứ 7 , thứ 2 vẫn tính liên tiếp.
Góp ý hay bạn hiền.
Nếu chủ thớt cũng tính như vậy thì cũng không khó, dùng kết hợp thêm hàm Workday(.intl) bao đoạn C3+Row()-1 là xử lý được, ngay cả ngày nghỉ lễ tết, chả cần cái udf gì gì đó cho rách việc.

Nhưng ý chủ thớt có vẽ hơi khác...
Chờ chủ thớt nói rõ hơn vậy.

/-*+//-*+//-*+/
 
Như công ty em có nhiều thị trường xuất, mỗi thị trường sẽ có 1 số đơn nhất đinh cho các năm. Em ví dụ đây là đơn hàng cho 1 thị trường :
Đơn hàng A ngày 01/07/2023 xuất lô số batch là a1, ngày 03/07/2023 cũng a1. ngày 06/07/2023 xuất lô số batch là a1, 07/07/2023 xuất lô số batch là a1. Từ này 01/07 đến ngày 07/07 chỉ có đơn A xuất bán thôi. không có đơn nào khác. Chứ trong 1 đơn hàng nó nhiều sản phẩm mà. Em hiểu ý bác là bán được 3 đơn + 1 đơn. Tên đơn hàng thôi bác, chứ mỗi batch nó rất nhiều size cỡ khác nhau, nhưng chủng loại giống nhau.
Dựa theo lời bạn giải thích trên, thử chỉnh lại yêu cầu của bạn như sau:

Thay vì: "Tìm số lần xuất kho cho các đơn hàng >=4 ngày liên tiếp mà có số Batch loại A"

Chỉnh lại: "Tìm số lần xuất kho cho từng đơn hàng yêu cầu thống kê, có số Batch loại A, và thỏa điều kiện đơn phải được xuất trong 4 đợt xuất hàng tuần tự kế tiếp trở lên"

Như ví dụ bạn đưa thì:
- Ngày 1/7 là đợt xuất lần 1
- Ngày 3/7 là đợt xuất lần 2
- Ngày 6/7 là đợt xuất lần 3
- Ngày 7/7 là đợt xuất lần 4
....
Thứ tự tuần tự của đợt xuất hàng không bị ảnh hưởng bởi sự tuần tự của ngày tháng, và từng đợt xuất có thể xảy ra việc xuất nhiều đơn, theo nhiều batch trong cùng ngày.

Phải bạn yêu cầu vậy không?

Nếu đúng, bạn có thể dùng công thức dưới đây. Còn nếu không phải, thì tôi cũng "bótay.com", bạn nhé!

Công thức ô I3
Mã:
=COUNT(1/(FREQUENCY(IF(COUNTIFS($C$3:$C$50,AGGREGATE(15,6,$C$3:$C$50/(MATCH($C$3:$C$50,$C$3:$C$50,)=ROW($1:$50)),ROW($1:$50)),$D$3:$D$50,$H3,$E$3:$E$50,"A*"),ROW($1:$50)),IF(COUNTIFS($C$3:$C$50,AGGREGATE(15,6,$C$3:$C$50/(MATCH($C$3:$C$50,$C$3:$C$50,)=ROW($1:$50)),ROW($1:$50)),$D$3:$D$50,$H3,$E$3:$E$50,"A*"),,ROW($1:$50)))>3))
Kết thúc bằng Ctrl +Shift +Enter, fill xuống.

Trong file kèm tôi có chỉnh dữ liệu từ dòng 24, dựa theo ví dụ bạn giải thích trên, và lấy mã đơn 5V2306035 làm mẫu.

Thân
 

File đính kèm

Dựa theo lời bạn giải thích trên, thử chỉnh lại yêu cầu của bạn như sau:

Thay vì: "Tìm số lần xuất kho cho các đơn hàng >=4 ngày liên tiếp mà có số Batch loại A"

Chỉnh lại: "Tìm số lần xuất kho cho từng đơn hàng yêu cầu thống kê, có số Batch loại A, và thỏa điều kiện đơn phải được xuất trong 4 đợt xuất hàng tuần tự kế tiếp trở lên"

Như ví dụ bạn đưa thì:
- Ngày 1/7 là đợt xuất lần 1
- Ngày 3/7 là đợt xuất lần 2
- Ngày 6/7 là đợt xuất lần 3
- Ngày 7/7 là đợt xuất lần 4
....
Thứ tự tuần tự của đợt xuất hàng không bị ảnh hưởng bởi sự tuần tự của ngày tháng, và từng đợt xuất có thể xảy ra việc xuất nhiều đơn, theo nhiều batch trong cùng ngày.

Phải bạn yêu cầu vậy không?

Nếu đúng, bạn có thể dùng công thức dưới đây. Còn nếu không phải, thì tôi cũng "bótay.com", bạn nhé!

Công thức ô I3
Mã:
=COUNT(1/(FREQUENCY(IF(COUNTIFS($C$3:$C$50,AGGREGATE(15,6,$C$3:$C$50/(MATCH($C$3:$C$50,$C$3:$C$50,)=ROW($1:$50)),ROW($1:$50)),$D$3:$D$50,$H3,$E$3:$E$50,"A*"),ROW($1:$50)),IF(COUNTIFS($C$3:$C$50,AGGREGATE(15,6,$C$3:$C$50/(MATCH($C$3:$C$50,$C$3:$C$50,)=ROW($1:$50)),ROW($1:$50)),$D$3:$D$50,$H3,$E$3:$E$50,"A*"),,ROW($1:$50)))>3))
Kết thúc bằng Ctrl +Shift +Enter, fill xuống.

Trong file kèm tôi có chỉnh dữ liệu từ dòng 24, dựa theo ví dụ bạn giải thích trên, và lấy mã đơn 5V2306035 làm mẫu.

Thân
Vâng đúng rồi ạ. Dạ cảm ơn anh rất nhiều ạ.
 
Web KT

Bài viết mới nhất

Back
Top Bottom