Như tôi đã nói vì là bài toán định vị nên độ chính xác càng cao càng tốt, như vậy có nghĩa là trong trường hợp bạn nêu: 100-20-210-40 sẽ phải triển khai lại thành: 100-20-80-100-40-40- sau đó mark là M-0-M-M-0-?-Son2006 đã viết:de viet VBA can thong nhat lai cach mark khi con so lon qua. VD co 4 so lien tiep bat dau tu 100 nhu sau:100-20-210-40, ta se mark ntn?
Co 1 so kha nang nhu sau
1. So 210 ban se phan lam 100-100-20; Nhu vay se mark M-0-M-...
2. So 20 gan 100 hon 210 nen se mark
M-M-M-...
3. Do so 210 qua lon nen khi phan thanh 100-100-20 thi con ton lai sau khi phan 2*100 la 10; So 10 con ton do se tinh nhu bat dau sum moi, vao cong lai vao tong tiep theo, VD nhu 10+40=50 de tinh tiep xem mark ntn?
4. Do da mark o so 210 nen tong sau cu tinh tiep theo, tuc la bat dau tu so 40?
Ban loai bo bot nhung truong hop sai theo y ban de co the viet code.
Ve mat hinh thuc trinh bay co 2 cach viet code:
1. Sau khi ban input du lieu, se bam nut lenh dieu khien nao do de Mark. Neu du lieu cua ban nhieu thi nen theo cach nay
2.Viet function de tinh tu dong, sau moi thay doi cua du lieu, excel se tu tinh lai. Neu du lieu cua ban nhieu, hoac ca file da kha lon roi thi cach lam nay se lam chuong trinh chay cham dang ke
Nếu làm bằng tay bọn tôi phải tự kiểm tra nhanh như sau =COUNTA(cột Mark) nếu thấy = SUM( cột dữ liệu)/100 là được. Cái này sẽ quyết định một phần việc có Mark cả ở 20 và 210 hay không ? và ô cuối cùng có mark hay không , cách này không hoàn thiện gây sai số lớn nhưng nếu vội thì tôi vẫn ứng dụng tạm trong thực tế bạn ạ Như vậy nếu làm bằng tay và lười ko chịu phân bố lại, tôi sẽ mark là: M-M-M- nói như vậy chắc bạn hiểu.
Còn về hình thức trình bầy thì tôi cũng chưa biết thế nào hơn, dữ liệu của tôi trên 1 sheet thì cũng rất nhiều nên có lẽ dùng cách 1)
Lần chỉnh sửa cuối: