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
12
Đ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,591
Điểm
1,560
Tuổi
60
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,412
Đ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
12
Đ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,365
Điểm
560
Tuổi
61
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
12
Đ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,365
Điểm
560
Tuổi
61
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
12
Đ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 !
 
Top