OsamaPikachu
Thành viên mới

- Tham gia
- 19/4/14
- Bài viết
- 17
- Được thích
- 0
Chào các bạn, hiện nay mình có 1 bài toàn như thế này. Giả sử Nhà máy xuất hàng liên tục và xe vào lấy hàng 24/24. Có File Excel thế này
Code ------------------Truck No.------------- Time in -----------Time out
1046852 ---------------TG 13140 -------------1/31/14 9:15 ------2/2/14 12:30
1046863 ---------------TV 0207 --------------2/27/14 11:35 -------2/28/14 14:15
1046889 ----------------VL 10098 ------------2/27/14 11:40 --------2/28/14 10:42
1046877 ----------------BT 0841 --------------2/27/14 20:00 -------2/28/14 1:50
1046906 ----------------LA 05789 -------------2/28/14 11:15 -------2/28/14 17:20
1046908 ----------------AG 19835 -------------2/28/14 11:30 -------2/28/14 17:20
Mình muốn thống kê đếm xem cụ thể ngày 27/2 lúc 18 giờ thì có bao nhiêu phương tiện tại nhà máy.
Ví dụ: Phương tiện A vào 10h 10/10 ra lúc 13h 10/10
Phương tiện B vào 12h 10/10 ra lúc 14h 10/10
===> thì lúc 10h - 1 phương tiện(pt), 11h - 1pt, 12h - 2pt (vì B vào lúc 12h), 13h - 2pt, 14h - 1pt.
Vậy đó, từng ngày với từng giờ cụ thể trong 1 tháng đó.
Thú thật thì mình mới tìm tòi VBA nên còn gà lắm
. Nhưng mình có giải pháp sau nhưng không biết triển khi như thế nào
. Các bạn xem thử góp ý giúp mình nhé.
Các bạn rối mù lên chưa
@@. Sorry vì mình nghĩ sao ghi lại như vậy thôi chứ chả bít ghi sao cho dễ hiển cũng không biết tối ưu chưa hoặc viết code lun @@
.
Mong các bạn giúp đỡ mình.
P/s Đc thì các bạn code nó dễ dễ để mình còn hiểu với nhé. thanks. Mình có đính kèm file excel mẫu
Code ------------------Truck No.------------- Time in -----------Time out
1046852 ---------------TG 13140 -------------1/31/14 9:15 ------2/2/14 12:30
1046863 ---------------TV 0207 --------------2/27/14 11:35 -------2/28/14 14:15
1046889 ----------------VL 10098 ------------2/27/14 11:40 --------2/28/14 10:42
1046877 ----------------BT 0841 --------------2/27/14 20:00 -------2/28/14 1:50
1046906 ----------------LA 05789 -------------2/28/14 11:15 -------2/28/14 17:20
1046908 ----------------AG 19835 -------------2/28/14 11:30 -------2/28/14 17:20
Mình muốn thống kê đếm xem cụ thể ngày 27/2 lúc 18 giờ thì có bao nhiêu phương tiện tại nhà máy.
Ví dụ: Phương tiện A vào 10h 10/10 ra lúc 13h 10/10
Phương tiện B vào 12h 10/10 ra lúc 14h 10/10
===> thì lúc 10h - 1 phương tiện(pt), 11h - 1pt, 12h - 2pt (vì B vào lúc 12h), 13h - 2pt, 14h - 1pt.
Vậy đó, từng ngày với từng giờ cụ thể trong 1 tháng đó.
Thú thật thì mình mới tìm tòi VBA nên còn gà lắm


Giải pháp:
Tạo drop-list chon tháng mún thống kê (12 tháng)
Tạo 1 mảng 2 chiều với tượng trung cho ngày giờ. Matrix(1 to 31, 0 to 23)
Duyệt từng tự Range Time in, time out. Chọn đơn hàng trong tháng cần thống kê. Lấy Day và Hour ra.
Giả sử ngày ngày phương tiện vào lúc 10h 10/10 ra 13h 10/10 thì
Nếu (Day.out - Day.in) = 0 thì
For a = Hour-in to Hour-out
Matrix(Day-in,a) = Matrix(Day-in,a) + 1
Next a
Nếu Nếu (Day.out - Day.in) = 1 thì
For b = Hour-in to 23
Matrix(Day-in,b) = Matrix(Day-in,b) + 1
Next b
For c = 0 to Hour-out
Matrix(Day-out,c) = Matrix(Day-out,c) + 1
Next c
Tương tự Day.Out - Day.in >1. vì dụ 2 ngày. thì cũng tương tự như trên cộng thêm 1 mỗi Matrix(Day.in+1,0) - > ( Matrix(Day.in+1,23) .......
Day.Out - Day.in <0 (Vào tháng trước ra tháng này hoặc vào tháng này ra tháng sau) thì mình so sánh tháng của 2 thằng để nhậnbi1e61t rồi cộng giờ trong tháng thôi.
Xong rồi qua Sheet kia chạy cái Mảng 2 chiều đó ra tương tự ngày 10 lúc 10h là Matrix(10,10) là xong.![]()
Các bạn rối mù lên chưa


Mong các bạn giúp đỡ mình.
P/s Đc thì các bạn code nó dễ dễ để mình còn hiểu với nhé. thanks. Mình có đính kèm file excel mẫu
