Xin giúp thống kê nề nếp học sinh

HoangChi712

Thành viên mới
Tham gia ngày
3 Tháng mười một 2017
Bài viết
15
Được thích
2
Điểm
165
Tuổi
32
Như tiêu đề, mình muốn thống kê tổng số lượt nghỉ có phép (hoặc số lượt nghỉ không phép...)của một lớp nào đó trong trường thì làm như thế nào nhỉ ? Rất mong các bạn giúp đỡ ! Xin chân thành cảm ơn !
 

File đính kèm

Ba Tê

Cạo Rồi Sẽ Gội
Tham gia ngày
5 Tháng năm 2009
Bài viết
10,752
Được thích
15,161
Điểm
1,860
Tuổi
60
Nơi ở
An Giang
Như tiêu đề, mình muốn thống kê tổng số lượt nghỉ có phép (hoặc số lượt nghỉ không phép...)của một lớp nào đó trong trường thì làm như thế nào nhỉ ? Rất mong các bạn giúp đỡ ! Xin chân thành cảm ơn !
Bạn dùng hàm SumIf hoặc CountIf để giải quyết.
 

snow25

Thành viên tích cực
Tham gia ngày
24 Tháng bảy 2018
Bài viết
1,583
Được thích
1,275
Điểm
210
Như tiêu đề, mình muốn thống kê tổng số lượt nghỉ có phép (hoặc số lượt nghỉ không phép...)của một lớp nào đó trong trường thì làm như thế nào nhỉ ? Rất mong các bạn giúp đỡ ! Xin chân thành cảm ơn !
Bạn chạy code này xem đúng không nhé.VBA.
Mã:
Sub thongke()
    With Sheet1
        Dim arr, arr1, dic As Object, lr As Long, i As Long, j As Long, a As Long, b As Long
        Set dic = CreateObject("scripting.dictionary")
        .Range("J3:m26").ClearContents
        arr = .Range("I2:M26").Value
        For i = 2 To UBound(arr, 1)
           dic.Item(arr(i, 1)) = i
        Next i
        For i = 2 To UBound(arr, 2)
           dic.Item(arr(1, i)) = i
        Next i
        lr = .Range("B" & Rows.Count).End(xlUp).Row
        arr1 = .Range("c2:G" & lr).Value
        For i = 2 To UBound(arr1, 1)
            a = dic.Item(Right(arr1(i, 1), 2))
            If a Then
               For j = 2 To UBound(arr1, 2)
                   b = dic.Item(arr1(1, j))
                   If b Then
                     If arr1(i, j) > 0 Then arr(a, b) = arr1(i, j) + arr(a, b)
                   End If
               Next j
           End If
       Next i
       .Range("I2:M26").Value = arr
    End With
End Sub
 

File đính kèm

HoangChi712

Thành viên mới
Tham gia ngày
3 Tháng mười một 2017
Bài viết
15
Được thích
2
Điểm
165
Tuổi
32
Cảm ơn các bạn đã giúp nhưng mình ko hiểu code lắm, mong các bạn giúp mình một hàm nào đó cho tiện nhé ?
 

be09

Biên Hòa - Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
7,698
Được thích
7,443
Điểm
560
Tuổi
61
Nơi ở
P. Tân Mai, Biên Hòa, Đồng Nai
Như tiêu đề, mình muốn thống kê tổng số lượt nghỉ có phép (hoặc số lượt nghỉ không phép...)của một lớp nào đó trong trường thì làm như thế nào nhỉ ? Rất mong các bạn giúp đỡ ! Xin chân thành cảm ơn !
Góp ý cho bạn:
1/ Do mỗi loại vi phạm có thể là duy nhất nên việc nhập liệu theo chiều dọc thì bảng tính sẽ gọn gàng và dễ dàng sử dụng Pivot Table để có thể tổng hợp theo tuần, tháng, quý hay cả năm.
2/ Nhập liệu theo chiều dọc thì có thể chọn lớp và chọn tên học sinh để khi cần xem xét hoặc xử lý kỹ luật đối với 1 học sinh nào đó, ta sẽ được kết quả mong muốn.
3/ Nếu thống nhất nội dung và cách bố trí trên thì tôi sẽ hướng dẫn cách nhập liệu lỗi như thế nào cho thuận tiện.
 

File đính kèm

Lần chỉnh sửa cuối:

HoangChi712

Thành viên mới
Tham gia ngày
3 Tháng mười một 2017
Bài viết
15
Được thích
2
Điểm
165
Tuổi
32
Góp ý cho bạn:
1/ Do mỗi loại vi phạm có thể là duy nhất nên việc nhập liệu theo chiều dọc thì bảng tính sẽ gọn gàng và dễ dàng sử dụng Pivot Table để có thể tổng hợp theo tuần, tháng, quý hay cả năm.
2/ Nhập liệu theo chiều dọc thì có thể chọn lớp và chọn tên học sinh để khi cần xem xét hoặc xử lý kỹ luật đối với 1 học sinh nào đó, ta sẽ được kết quả mong muốn.
3/ Nếu thống nhất nội dung và cách bố trí trên thì tôi sẽ hướng dẫn cách nhập liệu lỗi như thế nào cho thuận tiện.
So với bảng dữ liệu kì công của bạn thì bảng của mình đúng là không đáng nhắc đến. Trước tiên, xin cảm ơn bạn đã nhiệt tình giúp đỡ. Nhân đây mình mong bạn giải đáp 3 thắc mắc
- Cột dữ liệu "Tuần", mình chưa hiểu ý nghĩa và cách sử dụng
- Cột "Ngày" hiện tại rất đúng lịch nhưng nếu sang năm 2019 thì nó có tự động chỉnh ko, hay là mình phải chỉnh thủ công và nếu có thì chỉnh thế nào ?
- Cách nhập dữ liệu mình chưa hiểu lắm, với HS có nhiều hơn 1 lỗi vi phạm thì cách nhập dữ liệu ra sao ?
 

be09

Biên Hòa - Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
7,698
Được thích
7,443
Điểm
560
Tuổi
61
Nơi ở
P. Tân Mai, Biên Hòa, Đồng Nai
So với bảng dữ liệu kì công của bạn thì bảng của mình đúng là không đáng nhắc đến. Trước tiên, xin cảm ơn bạn đã nhiệt tình giúp đỡ. Nhân đây mình mong bạn giải đáp 3 thắc mắc
- Cột dữ liệu "Tuần", mình chưa hiểu ý nghĩa và cách sử dụng
- Cột "Ngày" hiện tại rất đúng lịch nhưng nếu sang năm 2019 thì nó có tự động chỉnh ko, hay là mình phải chỉnh thủ công và nếu có thì chỉnh thế nào ?
- Cách nhập dữ liệu mình chưa hiểu lắm, với HS có nhiều hơn 1 lỗi vi phạm thì cách nhập dữ liệu ra sao ?
Cái đó là tôi thiết kế lại để cho bạn hiểu là nhập liệu theo chiều dọc thì có nhiều cái lợi hơn cách làm của bạn 52 tuần làm 52 bảng:
1/ Dễ dàng dùng VBA để nhập liệu.
2/ Thuận tiện cho việc dùng Pivot Table để tổng hợp báo cáo bất kỳ thứ gì.
3/ Cột dữ liệu "Tuần" là dùng hàm.
4/ Năm 2019, 2020..v..v....Bạn xem File sử dụng Pivot Table với Slicer (có sẳn trong Excel).
5/ HS có nhiều lỗi vi phạm thì tôi sẽ hướng dẫn VBA sau bài này (nếu bạn thống nhất các nội dung trên).
 

File đính kèm

HoangChi712

Thành viên mới
Tham gia ngày
3 Tháng mười một 2017
Bài viết
15
Được thích
2
Điểm
165
Tuổi
32
Cái đó là tôi thiết kế lại để cho bạn hiểu là nhập liệu theo chiều dọc thì có nhiều cái lợi hơn cách làm của bạn 52 tuần làm 52 bảng:
1/ Dễ dàng dùng VBA để nhập liệu.
2/ Thuận tiện cho việc dùng Pivot Table để tổng hợp báo cáo bất kỳ thứ gì.
3/ Cột dữ liệu "Tuần" là dùng hàm.
4/ Năm 2019, 2020..v..v....Bạn xem File sử dụng Pivot Table với Slicer (có sẳn trong Excel).
5/ HS có nhiều lỗi vi phạm thì tôi sẽ hướng dẫn VBA sau bài này (nếu bạn thống nhất các nội dung trên).
Tôi đã thống nhất các nội dung trên, mong bạn hướng dẫn !
 

be09

Biên Hòa - Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
7,698
Được thích
7,443
Điểm
560
Tuổi
61
Nơi ở
P. Tân Mai, Biên Hòa, Đồng Nai
Như tiêu đề, mình muốn thống kê tổng số lượt nghỉ có phép (hoặc số lượt nghỉ không phép...)của một lớp nào đó trong trường thì làm như thế nào nhỉ ? Rất mong các bạn giúp đỡ ! Xin chân thành cảm ơn !
Hôm nay rảnh mới làm xong, khi sử dụng cần lưu ý:
1/ Thay đổi tên lớp vào vào cột C của sheet Data_List.
2/ Thay đổi danh sách và lớp vào vào cột B và C của sheet Loc.
3/ Khi hiện UserForm thì Gõ từ gợi nhớ hoặc tên Học sinh vào Hộp màu vàng và chọn tên học sinh trong danh sách để lấy kết quả, xong chọn lỗi vi phạm rồi nhấn nút nhập liệu để nhập học sinh tiếp theo.

Chưa tải File lên do còn lỗi, chiều xử lý xong tôi tải File sau (giờ chiến hữu gọi làm vài ve rồi).

A_UsrForm.JPG
 

be09

Biên Hòa - Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
7,698
Được thích
7,443
Điểm
560
Tuổi
61
Nơi ở
P. Tân Mai, Biên Hòa, Đồng Nai

File đính kèm

Top