quangvinhtb
Thành viên mới

- Tham gia
- 23/7/09
- Bài viết
- 33
- Được thích
- 0

mọi người vào coi có gì không hiểu cứ cho em ý kiến. để đóng góp cho em biết.

Em có thể mô tả qua như sau:Có lẽ bạn nêu cách tính thủ công của mình thì việc sẽ viết code nhanh hơn!
Bài khó hiểu quá
Em có thể mô tả qua như sau:
So sánh theo hàng lấy 2 ở cột EU làm gốc so sánh số lần 2 xuất hiện thì lấy từ phải qua trái 7 cột(trong 7 cột đó nếu cột nào đầu tiên xuất hiện 1, or 2, or 3, or 4..Thì đánh số lượng theo X1,..X7 như ví dụ.
Có ý kiến gì mọi người góp ý!
Em đọc topic này từ hôm qua, cũng đã nhìn "toét con mắt" vào cái bảng tính đính kèm rồi mà tới giờ thì vẫn chưa đủ trình độ để hiểu ý tác giả muốn cái gì và quy luật ra làm sao. Hic hic...Ai cũng hiểu, chỉ "mọi người" không hiểu,
Nên có "một đống khờ" ngọng nghịu "cố mà xem".
Tui mà hiểu "chết liền".

Tại C không có 2 bác ah!mặc dù rất cố gắng nhưng ko thể hiểu được!!!
bạn nói tôi nghe xem, vì sao dòng số 5
vì sao nó cho kết quả 1 1 2 _ _ 1
rồi tại sao C khônng có mặc trong bảng kết quả?

Bạn trả lời bài nào nên bấm "Trả Lời Với Trích Dấn" bài của người đó, để người khác hiểu là bạn trả lời bài của ai.bác lấy cột eu làm chuẩn tại hàng nào có xuất hiện 2 thì lấy làm gốc tính theo hàng đó số lần 2 xuất hiện của mã, sau đó tính mã theo sau mã xuất hiện 2 từ phải qua trái 7 cột, nếu cột nào có 1 or 2,or 3,or 4 thì đánh giá sự xuất hiện tại cột ấy laf X1,X2...X7. được kết quả như EX4:FI19.

vì Mã C về theo Mã A ít hơn các mã khác bác ahBạn trả lời bài nào nên bấm "Trả Lời Với Trích Dấn" bài của người đó, để người khác hiểu là bạn trả lời bài của ai.
Tôi đã gởi ảnh minh họa, dòng 6 có A6=C, EP6= 2, nhưng kết quả mẫu của bạn không có dòng nào của C là sao?
Chắc "thua" luôn rồi. Không hiểu nỗi.
Bi giờ bạn chỉ cần "tường thuật" tại chỗ từng bước cách làm ra kết quả của B chẳng hạn:vì Mã C về theo Mã A ít hơn các mã khác bác ah

em lấy ví dụ thế này nha:Bi giờ bạn chỉ cần "tường thuật" tại chỗ từng bước cách làm ra kết quả của B chẳng hạn:
X1: lấy chỗ nào ra X1 ==> cell nào ???
X2: lấy chỗ nào ra X2 ==> cell nào ???
X3: lấy chỗ nào ra 2 thằng X3 ==> 2 cell nào ???
X6: lấy chỗ nào ra X6 ==> cell nào ???
Vậy thì mới ....hy vọng
Thân
đây em viết 2 bài đều bị xóa là sao? Mong GPE giải đáp giúp.
Nếu bài có điều gì sai các bác cho ý kiến, đây em viết 2 bài đều bị xóa là sao? Mong GPE giải đáp giúp.
Trân trọng!

Đồng nghĩa với những lời giải thích của bạn là quá khó hiểu, bạn cần đặt lại vấn đề, giải thích cách làm thế nào, nếu có các khái niệm phức tạp thì phải định nghĩa giải thích nó.
Nếu không cứ X1, X2,... thế này thì còn dài dài không ai hiểu, và phải chờ tiếp...

Có lẽ là cần phải biết bài toán này giống cái gì trong thực tế thì mới có thể tưởng tượng ra đượcĐúng là khó hiểu thật. Có thể mô tả như sau:
Lấy cột EU làm gốc thì có 2 cell xuất hiện giá trị 2 tra theo hàng ra Mã A, Mã P. Thì Mã A có 5 lần xuất hiện giá trị 2 xét các Mã trong bảng và so sánh Mã nào về theo nhiều nhất trong 7 ô kế tiêp sau giá tri 2 xuất hiện( nếu 7 ô đó không có giá trị nào hoặc là maxblank thì không tính lần xuất hiện nào, nếu sau giá trị 2 của Mã A là 1 giá trị 2 của Mã khác thì vẫn tính là 1 lần xuất hiện)
Bài toán có gì không chỗ nào các bác cứ cho ý kiến. Để em giải thích.
Thanks GPE!
Đúng là khó hiểu thật. Có thể mô tả như sau:
Lấy cột EU làm gốc thì có 2 cell xuất hiện giá trị 2 tra theo hàng ra Mã A, Mã P. Thì Mã A có 5 lần xuất hiện giá trị 2 xét các Mã trong bảng và so sánh Mã nào về theo nhiều nhất trong 7 ô kế tiêp sau giá tri 2 xuất hiện( nếu 7 ô đó không có giá trị nào hoặc là maxblank thì không tính lần xuất hiện nào, nếu sau giá trị 2 của Mã A là 1 giá trị 2 của Mã khác thì vẫn tính là 1 lần xuất hiện)
Bài toán có gì không chỗ nào các bác cứ cho ý kiến. Để em giải thích.
Thanks GPE!

Có lẽ em gửi file này thì các bác hiểu đôi chút:Có lẽ là cần phải biết bài toán này giống cái gì trong thực tế thì mới có thể tưởng tượng ra được
Có lẽ em gửi file này thì các bác hiểu đôi chút:
tại sao là 7 ô, tại sao là maxblank, tại sao là ... đếm cái gì, xuất hiện cái gì, địa chỉ cell là địa chỉ nào ... hàng nào (theo excel định nghĩa nhe, ví dụ EP8, A1...vv)?????????????
------------
Cái này bạn áp dụng trong lĩnh vực nào, quản lý cái gì...
tôi nghi ngờ bài phi thực tế nên bạn không thể mô tả, hoặc là liên quan gì mà bạn không rõ để mô tả,
--nghe như là xử lý lô lô to đây

thế này nha bác Zerothink: em ứng dụng vào lĩnh vực hàng nhập xuất thực tế, Còn có thể các bác hiểu sao tùy thôi. Bài #8 em tách ra để các bác xem đơn giản hơn thôi.Bài mới nhất cũng tách ra, có khác gì đâu,
Hãy trả lời các câu hỏi:

Ví dụ với A như trên, vùng tính toán thứ nhất là EN4:ET4thế này nha bác Zerothink: em ứng dụng vào lĩnh vực hàng nhập xuất thực tế, Còn có thể các bác hiểu sao tùy thôi. Bài #8 em tách ra để các bác xem đơn giản hơn thôi.
CỤ theo mã A có xuất hiện giá trị 2 đến 5 lần thì ta xét sau đó 7 cột kế tiếp ví dụ lần thứ 5 có giá trị 2 tại EU4 xét tra sự xuất hiện các mã tại vùng EN4:ET4....Còn lần thứ nhất có giá trị 2 của mã A là AB4 xét tra sự xuất hiện các mã tại vùng U4:AA4.
Tại sao lấy sau 7 cột hoặc ô vì đó là hàng xuất nhập trong 1 tuần. Nếu bác nào bán hàng lẻ, sỉ biết ngay.
Mong được giải đáp.
thế này nha bác Zerothink: em ứng dụng vào lĩnh vực hàng nhập xuất thực tế, Còn có thể các bác hiểu sao tùy thôi. Bài #8 em tách ra để các bác xem đơn giản hơn thôi.
CỤ theo mã A có xuất hiện giá trị 2 đến 5 lần thì ta xét sau đó 7 cột kế tiếp ví dụ lần thứ 5 có giá trị 2 tại EU4 xét tra sự xuất hiện các mã tại vùng EN4:ET4....Còn lần thứ nhất có giá trị 2 của mã A là AB4 xét tra sự xuất hiện các mã tại vùng U4:AA4.
Tại sao lấy sau 7 cột hoặc ô vì đó là hàng xuất nhập trong 1 tuần. Nếu bác nào bán hàng lẻ, sỉ biết ngay.
Mong được giải đáp.
Mình cũng hóng bài này xem ai giải ra được. Mình thì thuộc dạng chậm hiểu nên đọc hơn 10 lần rồi cũng chẳng cách nào hình dung các số của B lấy tại các cell nào nữa.

Bác nghĩ cách khác, làm cách khác. nhưng làm nhỏ biết nhỏ..Vậy nhập ,xuất thì bạn đang muốn thống kê cái chi vậy???? hãy lấy ví dụ thực tế đi, có thể ghi là kẹo, beer, cocacola đi cùng mã hàng của nó xem sao, X1 ghi luôn là day1, day2 đi .........
Phần này bác nói chuẩn.
tại sao không giải thích tiếp đi
tại sao có 1 có 2
1,2,3,4 là lượng nhập..còn nếu không là ô trống
tại sao FB4 đến FI4 thì trống
Vì ở đây không đặt mã nào
Với B thì làm so sánh mốc 2 thế nào... ở cell sao đếm những cell nào (địa chỉ cụ thể)
Với B ta lấy các cột EU,EA,CG,BE,AB so với hàng chứa Mã B có chứa số lần nhập(với số lượng bất kỳ, chỉ lấy số lần nhập trong 7 ngày kế tiếp cho mỗi lần xuất hiện đó)
Tại sao FA6 không là C (tên kia bạn nói không có C, nhưng A6 có C và nếu đẩy D lên thì có lệch hàng kết quả với số liệu không????????
Vì C có lần nhập ít hơn các mã khác khi Mã A có giá trị 2 xuất hiện
tại sao và tại sao??? còn nhiều đó, và đếm xuất hiện cái gì, bạn phải làm mô tả các bước ví dụ 2 hàng B, hàng E chi tiết theo từng bước tưng địa chỉ CELLs may ra có ai hiểu
để em coi gửi file nhỏ
tôi đã từng đi giao hàng xỉ hang lẻ đây, làm gì có bảng như thế

đây là kết quả em tô màu rồi tương ứng với giá trị lấy và cách lấy các bác ah! cùng câu hỏi thứ 5 của bác Zerothink!bạn cho hỏi
FB5=1 là kết quả đếm cái gì và ở range nào?
Vấn đề giải để ứng dụng làm gì, chứ làm chơi chơi ra các con số thì đơn giản
Chủ topic tiếp tục giải thích đi, nhớ đọc kỹ trả lời các câu hỏi mọi người hỏi lại, có như thế mới rõ
Tôi đã đọc các bài dạng giống như thế này (cấu trúc giống hệt) của 4 thành viên và đã tham gia trả lời một số trong số đó, và rút ra kinh nghiệm rằng nếu bác có hứng cho những trường hợp này thì cứ trả lời thôi chứ đừng hỏi vì sẽ luôn là nhưng câu trả lời tương tự bài #36.
Bài Spam!
đây là kết quả em tô màu rồi tương ứng với giá trị lấy và cách lấy các bác ah! cùng câu hỏi thứ 5 của bác Zerothink!
Xem file, trong vùng tính toán mà bạn đã nêu EN5:ET5, giá trị x7 =1 nhưng khi tổng hợp lại không được tính?đây là kết quả em tô màu rồi tương ứng với giá trị lấy và cách lấy các bác ah! cùng câu hỏi thứ 5 của bác Zerothink!

Có 1 sai sót nhỏ nếu bác không hỏi đến là chỉ tính đến khi Mã nào đã có giá trị xuất hiện tại đây EN5:ET5 đã có giá trị 3 tại EQ5Xem file, trong vùng tính toán mà bạn đã nêu EN5:ET5, giá trị x7 =1 nhưng khi tổng hợp lại không được tính?
Có 1 sai sót nhỏ nếu bác không hỏi đến là chỉ tính đến khi Mã nào đã có giá trị xuất hiện tại đây EN5:ET5 đã có giá trị 3 tại EQ5

có sự sai sót nhỏ e đã thay đổi.Không hiểu, tương tự bài 36 là sao bạn???
Như thế có 1 số người hỏi đê hỏi không ứng dụng?
lúc trước kết quả hàng B là:
B 1 1 2 1
nay lại là
B 1 1 1 1 1
thế có phải là quá lạ không?
và như cái mới bạn tô màu, vậy tại sao các ô cạnh đó (=1) : DY5, CC5, CB5,CA5, AX5 , thì lại không được đếm vào????

Mục đích thống kê ra mã hàng cần lấy trong tuần tới, khi đã nhập mặt mã hàng kia quá nhiều.....Nghĩa là bạn tính đến giá trị chạm đầu tiên??? tính từ bên phải sang (tôi hiểu thê)
Bác hiểu vậy là đúng rồi.
hỏi thêm
Thế mã A, P là bạn chọn ra trước ah???
Không phải vậy mà chọn theo sự xuất hiện của giá trị 2 tại cột EU
Nhóm hàng đi theo mã A: chọn sao
Nhóm hàng đi theo mã P chọn sao?
Cách chọn như trên rồi, xác định xem mã nào theo mã A hoặc mã P nhiều nhất
và mục đích chính bạn dùng kết quả làm gì?????????
trên đã nói là tính số lần xuất hiện trong 7 cột sau dù là 2---> tức là có tính x7 như bài trước (#41)đã đặt vấn đề.....(chỉ lấy 2 làm gốc, còn 7 cột sau giá trị 2 , nếu tính chỉ là tính số lần xuất hiện dù số ấy là 2).còn tính mã về theo xuống vài giá trị ...
tức là đã có giá trị 3 thì cái sau không tính nữa(mặc dù vẫn nằm trong 7 cột).Có 1 sai sót nhỏ nếu bác không hỏi đến là chỉ tính đến khi Mã nào đã có giá trị xuất hiện tại đây EN5:ET5 đã có giá trị 3 tại EQ5
Mục đích thống kê ra mã hàng cần lấy trong tuần tới, khi đã nhập mặt mã hàng kia quá nhiều.....
Không phải vậy mà chọn theo sự xuất hiện của giá trị 2 tại cột EU
Cách chọn như trên rồi, xác định xem mã nào theo mã A hoặc mã P nhiều nhất
Tại sao ở EQ5 là 3 mà kết quả tại FE5 là 1?
![]()

ok, chắc là chuẩn bác ah!Chỉ là đếm (count) số lần xuất hiện thôi, nên 3 2 1 thì cũng tính là 1 lần xuất hiện, chắc vậy




Không phải đâu, phần dưới tính có 2 và 3 nữa cơ! Túm lại là bỏ của chạy thôi...Chỉ là đếm (count) số lần xuất hiện thôi, nên 3 2 1 thì cũng tính là 1 lần xuất hiện, chắc vậy
Bạn xem lại file đáp án tạm của bạn đi.ok, chắc là chuẩn bác ah!

bác chạy sao? em nhả tơ đây.Không phải đâu, phần dưới tính có 2 và 3 nữa cơ! Túm lại là bỏ của chạy thôi...
Bạn xem lại file đáp án tạm của bạn đi.
Mục đích nghe lạ, vì mục đích thế thì sao phải phức tạp thế, chỉ cần thống kế số lượng tồn, Thời gian tồn --> ra q.đ là đạt. Tại sao phải phức tạp như canh hẹ thế này?????
mà sao nhập gì số lượng chỉ 1 và 2, 3 nữa là sao??? có nhầm không, sao số lượng nhập chỉ có vậy
chỉ có hai cái mã như vậy thôi ah, hay thực tế còn nhiều hơn nhiều??? và chỉ căn cứ vào số 2??
theo nhiều nhất là theo thế nào? ví dụ của A là 5 thì cái nào theo, P thì là 8 vậy các hàng khác theo theo thế nào?? và sao biết là theo???

Bác có thể coi bài #52, nếu hai giá trị 2 cách nhau thì cũng tính như cũ và có tính chồng lấn lên nhau bác ah!BẠN chưa trả lời các câu hỏi này
và thêm, có khi nào trên hàng chọn (giả sử A), thì các số 2 (chuẩn) đó gần nhau <7 không (ví dụ hai số 2 cách nhau có 3 đơn vị)??? --khi đó làm sao???
Bác có thể coi bài #52, nếu hai giá trị 2 cách nhau thì cũng tính như cũ và có tính chồng lấn lên nhau bác ah!
Không phải đâu, phần dưới tính có 2 và 3 nữa cơ! .
Const SoDinhVi=2


Gửi đoạn video tính toán, bạn xem chơiBài Toán Viết code Khi xuất hiện 1 Giá trị của Mã Thì các Mã xuất hiện theo cùng sau đó Theo X1...X7 số lượng bao nhiêu theo từng X1..X7
Với Bài toán ví dụ sau, lấy 2 làm gốc tính từ phải qua trái sẽ có kết quả như file em gửi kèm.

bác gửi thế em kiểm nghiệm xem sao được. cứ gửi file lên xem thế nào?Gửi đoạn video tính toán, bạn xem chơi

Đọan video quay rõ vậy mà còn phải kiểm nghiệm sao?bác gửi thế em kiểm nghiệm xem sao được. cứ gửi file lên xem thế nào?

Bác cho em hỏi nếu em muốn đẩy hàng FA5:FI5 lên FA4:FI4 được không?có cả 4, 6 có thể.. vì là đếm thì nó phải tăng thôi..., giá trị kết quả này là đếm khác với giá trị 1 2 3 ở vùng Dữ liệu
-----------------------
Gửi chủ topic,
Giải pháp buộc phải dùng là VBA, bạn bấm vào nút RUN là có kết quả, nút Del là xoá kết quả để chạy lại
Hiện tôi cho chạy hết kết quả và sắp xếp các mã theo giá trị tổng xuất hiện từ lớn đến nhỏ, bạn tự chọn và xoá bước các cái xa không cần -- vì hỏi bạn phân nhóm thế nào, theo A theo P thế nào bạn không nói rõ
Nếu thích phân nhóm theo sát kiểu +-2 vv thì cứ hỏi tiếp, nếu không cứ liệt kê ra thế hết cho nhanh
Bấm Alt+F11 để xem code ---
hiện số định vị để ở
bạn có thể thay số khác ở đây, hoặc thích nhập từ cel nào sheets thì sửa lại code,Mã:Const SoDinhVi=2
Tự kiểm tra kết quả trong file kèm
Đúng là sau khi bạn bôi màu mới hiểu chút, bạn mô tả kiểu như topic này lúc đầu có lẽ 1 tháng cũng khó ai hiểu
Bác cho em hỏi nếu em muốn đẩy hàng FA5:FI5 lên FA4:FI4 được không?
hai: Em muốn lấy cột FI theo giới hạn được k? ví dụ số lượng tai cột FI từ 80 đến 60 của mỗi mã thì em lấy giới hạn từ 80 đến hết 70 hoặc 68, hay là giới hạn lấy 30 đơn vị ( 30 đơn vị như sau 91-60=30 đơn vị của mỗi mã)tùy ý được k? nếu không thì quá nhiều.
đó là 2 vấn đề, bác cho em ý kiến.
Cảm ơn bác!
Cảm ơn GPE!

Em giải thích rõ chứ. sai em sao làm được bácCó gửi nhầm file không, file thì file cũ, không có code, số thì nguyên xi, vậy thì:
không nhầm đâu bác
Trong file có thấy 91, 60 gì đâu gì đâu mà hiểu 91-60=30????
Rồi các con số 70 80 là gì lấy đâu ra
Đây chính là phần bôi tím lấy từ 5 xuống 3 là 3 đơn vị
Bạn phải giải thích cẩn thận, không có thì lai rơi vào lúc đầu đó, giờ mà không giải thích xong là tự làm nghe
Em giải thích rõ chứ. sai em sao làm được bác![]()

Chuẩn rồi bác Chính là 5,6,7,8,9 số lượng. lấy số lượng lớn nhất trong 1 mã theo về trừ lượng mã cố địnhlà 9-5=5 đơn vị(đó là 9,8,7,6,5) giờ em muốn lấy xuống còn 3 đơn vị là 9,8,7 nói chùng là sao mình xác định được số lượng đơn vị cần lấy của mỗi mã theo về, ở đây bác cho e ra 5 đơn vị đi xem thế nào? . còn 70,80,90... là số lương lớn k nói đến bác ah, chỉ là ví dụ.Vẫn không hiểu, toàn 5 6 7, 8....,vvv lấy đâu ra là 70 80 và 91
vvv
file có code bạn chạy thử chưa, đúng chưa, lúc trước tôi post đó
Chuẩn rồi bác Chính là 5,6,7,8,9 số lượng Mã. lấy số lượng Mã trừ số lượng Mà mã theo về(ví dụ Mã A về 9 lần giá trị 2 mã theo về K có số lương là 5 max 9-5=5 đơn vị(đó là 9,8,7,6,5) giờ em muốn lấy xuống còn 3 đơn vị là 9,8,7 thì sao? . còn 70,80,90... là số lương lớn k nói đến bác ah, chỉ là ví dụ.


Ví dụ thì phải đúng file dữ liệu up lên, ví dụ 1 đằng số liệu 1 kiểu khác là SAO???
Sửa lại rồi đó giờ tại FI1, bạn có thể
- Muốn thị top: ví dụ top 5 chẳng hạn thì nhập số dương 5 vào đó
- Muốn hiện thị đến giá trị dưới thì nhập số ÂM: ví dụ nhập -2 ==> hiện thị đến giá trị kém giá trị lớn nhất (đầu tiên tức là xuất hiện nhiều nhất) kém 2 đơn vị
xem kỹ mà dùng cho hợp lý
Bác ah! Rất trân trọng lời góp ý của bác.
Ví dụ thì phải đúng file dữ liệu up lên, ví dụ 1 đằng số liệu 1 kiểu khác là SAO???
Sửa lại rồi đó giờ tại FI1, bạn có thể
- Muốn thị top: ví dụ top 5 chẳng hạn thì nhập số dương 5 vào đó
- Muốn hiện thị đến giá trị dưới thì nhập số ÂM: ví dụ nhập -2 ==> hiện thị đến giá trị kém giá trị lớn nhất (đầu tiên tức là xuất hiện nhiều nhất) kém 2 đơn vị
xem kỹ mà dùng cho hợp lý

bác hiểu nhầm rồi. em viết lại vào bài #57 rồi là đúng ý em mà bác.chú ý:
Nếu muốn hiện thì tất thì cứ nhập vào ô F1 số dương to đùng lên lớn hơn số số mã có là được: ví dụ 10000 chẳng hạn, ---> khi đó sẽ hiện thị hết tất cả các mã ra
Em có sai khi đưa file, nhưng bác hiểu sai ý em rồi có nghĩa là
Thứ nhất: bỏ phần trống FA4:FI4 mà đặt mã và các thông số vào đó luôn.
Thứ Hai: lấy số lượng mã trừ đi số lượng mã theo về được 5 đơn vị(ví dụ số lượng mã tại EZ4-FI11= 2 đơn vị(chính là số lượng 5,4 của các mã theo về, bác nhớ là vét cạn các số lượng 4 của mã theo về nha)
vất vả bác quá.
chắc tới đây bác hiểu ý em rồi.
Sub timMa()
Const SoDinhVi = 2
Dim arrS(), arrM(), aMc(), aKq(), jDv(), iT, aKq2
Dim ceL As Range
Dim i As Long, j As Long, k As Long, m As Long, n As Long, nM As Long, iM As Long, TopV As Long, dR As Long
With Sheet1
Set ceL = .Cells(.Rows.Count, 1).End(xlUp)
arrS = .Range("B4:EU" & ceL.Row).Value
arrM = .Range([A4], ceL)
TopV = .[FI1].Value
Set ceL = Sheet1.[EX4] 'vitri ket qua
End With
ceL.Resize(65000, 12).ClearContents
m = UBound(arrS): n = UBound(arrS, 2)
nM = 0
For i = 1 To m
If arrS(i, n) = SoDinhVi Then
nM = nM + 1
ReDim Preserve aMc(0 To 3, 1 To nM)
aMc(0, nM) = i
aMc(1, nM) = arrM(i, 1)
aMc(2, nM) = SoDinhVi
End If
Next i
Dim q As Long, qq As Long
dR = 0
For iM = 1 To nM
k = 0: ReDim jDv(1 To 1)
For j = n To 1 Step -1
If arrS(aMc(0, iM), j) = SoDinhVi Then
k = k + 1
ReDim Preserve jDv(1 To k)
jDv(k) = j
End If
Next j
aMc(3, iM) = k
ReDim aKq(1 To m, 1 To 9)
q = 0
For i = 1 To m
If i <> aMc(0, iM) Then
q = q + 1
aKq(q, 1) = arrM(i, 1)
For k = 1 To aMc(3, iM)
For j = jDv(k) - 1 To IIf(jDv(k) - 7 >= 1, jDv(k) - 7, 1) Step -1
If arrS(i, j) > 0 Then
aKq(q, jDv(k) - j + 1) = aKq(q, jDv(k) - j + 1) + 1
Exit For
End If
Next j
Next k
End If
Next i
ReDim iT(1 To q)
For i = 1 To q
For j = 2 To 8
aKq(i, 9) = aKq(i, 9) + aKq(i, j)
Next
iT(i) = aKq(i, 9)
Next
iT = BubbleSort2(iT, False, True)
ReDim aKq2(1 To q, 1 To 9)
For i = 1 To q
For j = 1 To 9
aKq2(i, j) = aKq(iT(i), j)
Next j
Next i
With ceL
For k = 1 To 3
.Offset(, k - 1).Value = aMc(k, iM)
Next k
If TopV > 0 Then
qq = IIf(q > TopV, TopV, q)
ElseIf TopV = 0 Then
qq = q
Else
qq = 0
For i = 1 To q
If aKq2(i, 9) >= aMc(3, iM) + TopV Then qq = qq + 1
Next i
End If
.Offset(, 3).Resize(qq, 9).Value = aKq2
Set ceL = .Offset(qq + 0)
End With
Next iM
End Sub
Set ceL = .Offset(qq + 0)
Set ceL = .Offset(qq + 1)

Ý Bác là sao? bác giải thích rõ em coi.Muốn ngon lành cành đào, thì
phải nhập cái số giới hạn theo giá trị hay ntop Tại cột EV theo mã A, P thì chuẩn,
còn nếu không thế này:
nhập -1 được chuẩn cho mã A, thì mã P hỏng,
nhập -2 thì được mã P thì mã A lại dài quá
cái này bạn quyết định thôi.
Ý Bác là sao? bác giải thích rõ em coi.
Bác ah! chạy rồi vẫn chưa ổn ở chỗ số lượng ez4 mã A là 5 lấy xuống 3 đơn vị mã theo về có nghĩa là mã theo về lấy có số lượng 5,4,3 số lượng 3 lấy tới K có nghĩa lấy hết các mã theo về có số lượng là 5,4,3.
Tại EZ21 số lượng mã P 8 lần thì lấy xuống 3 đơn vị thì lấy hết số lượng mã theo về có số lượng là 8,7,6(ở đây số lượng 8 của mã theo về không có, chỉ có số lượng 7, 6 thì lấy hết số lượng 7,6, không chừa giá trị 6,7 nào)số lượng 6 lấy tới M có nghĩa lấy hết các mã theo về có số lượng là 7,6. "số lượng ở đây không phải số ô thuộc cột FI mà là số lượng của mã theo về"
bác bị nhầm chỗ này. file em gửi đây.
Bác nghiệm lại giúp em


chuẩn rồi bác em không ý kiến gì? Sư phụ Zerothink! Sư phụ uống bia không nhỉ?
Sư phụ vẫn xuất hiện lỗi có những trường hợp lấy hơn 5 đơn vị(ví như mã A có SL 9 lần mà mã theo về SL max chỉ có 4 lần, như vậy có SL 9,8,7,6,5 không có lấy sao được) nên vẫn bị dừng tại mã đó, do không đáp ứng được. giờ trường hợp không đáp ứng được loại được không Sư phụ? chỉ lấy trường hợp trong phạm vi 5 đơn vị

Đây là trường hợp đó Cho trường hợp PKhi đó tại EV (EV4 với mã A) bạn nhập số nào?
chú ý với mã A trong file dinhchinh.xlsm đó thì việc nhập số dương tại EV4 là 4 chẳng hạn, mà giá trị tại EZ4=9 thì chỉ những mã hàng có giá trị ở cột sigma (cột FI) từ 9-4+1=5 trở lên (>=5) mới được hiện ra.
Nếu lỗi xuất hiện thì hãy up file bị lỗi lên đây, còn nói không chung chung thế này rất khó hình dung.
Đây là trường hợp đó Cho trường hợp P

Em muốn tất cả đều lấy xuống 5 đơn vị. nếu nhập từng mã đơn vị rời vậy có đến vài trăm nhập sao hết.( chú ý các số không nhất thiết phải =5 hết nhé,)
trường hợp này ví 8-5+1=4 ==> nhưng không có mã nào thoả mãn thì nó đâu hiện ra , gặp như thế bạn có thể làm theo cách sau
+Xoá giá trị 5 tại EV19 đi ==> khi này RUN lại sẽ hiện tất cả các giá trị theo P ==> ta thấy tại cột EZ ứng với P chỉ có giá trị 1 2 3 ====> tuỳ chọn quay lại nhập cho EV19 là bao nhiêu cho hợp lý (ví dụ nhập là 7, để hiện từ 2 trở đi chẳng hạn)
-----------------
tại sao bạn nhập bằng 5 hết vậy ??? ví dụ EV8 cho mã E nhập 5 trong khi tối đa có 4?
hay ban muốn khác
Em muốn tất cả đều lấy xuống 5 đơn vị. nếu nhập từng mã đơn vị rời vậy có đến vài trăm nhập sao hết.
Nếu như vậy 1 Mã ở giữa không đáp ứng 5 đơn vị thì nó bị dừng lại.
bác xem thế có phải lỗi không?
.Offset(, 3).Resize(qq, 9).Value = aKq2
If qq > 0 Then .Offset(, 3).Resize(qq, 9).Value = aKq2


