Nhờ các bác tính giúp em tổng số tiết của giáo viên/tuần với

Liên hệ QC

vonguyen3745

Thành viên hoạt động
Tham gia
18/7/09
Bài viết
145
Được thích
5
1.jpeg
Em muốn tính tổng số tiết của giáo viên/tuần. (phần phân công môn dạy em xuất từ phần mềm ra nên nó có cấu trúc như vậy rồi)
 

File đính kèm

  • Phan cong.xlsx
    33.2 KB · Đọc: 14
Bạn chỉ cần đếm có bao nhiêu dấu phẩy trong cột C, rồi cộng thêm 1.


.
nhưng các dấu phẩy số tiết nó không bằng nhau bác à
Bài đã được tự động gộp:

bạn tham khảo công thức trong file
em thấy kết quả không đúng bác à
123.png
Môn Toán khối 6 là 4 tiết/tuần, mà dạy 4 lớp thì phải 16 tiết mà
 
Hàm thì bài này mình khồng rành với mình nghĩ chắc là phức tạp. Nếu không dùng công thức mà dùng code được không bạn?
 
View attachment 264106
Em muốn tính tổng số tiết của giáo viên/tuần. (phần phân công môn dạy em xuất từ phần mềm ra nên nó có cấu trúc như vậy rồi)
Chỉ có thể giúp bạn bằng VBA.
Các môn học trong cột C phải "y chang" tên môn học trong vùng E2 đến V2.
Bạn tự kiểm tra lại, chỗ nào chưa đúng thì cho biết.
 

File đính kèm

  • Phan cong.xlsm
    42.8 KB · Đọc: 11
Lần chỉnh sửa cuối:
1 code khác bạn tham khảo
Mã:
Sub tinhtongtiet()
    Dim i%, monhoc$, khoihoc$, bangtt(), lr%, ar(), listmon, listkhoi, i1%, c%, r%, j%
    bangtt = Range("H2:V6").Value2
    lr = Range("C" & Rows.Count).End(3).Row
    ar = Range("C3:D" & lr).Value2
    For i = 1 To UBound(ar)
        ar(i, 2) = 0
        listmon = Split(ar(i, 1), ")")
        For i1 = LBound(listmon) To UBound(listmon) - 1
            monhoc = Trim(Replace(Split(listmon(i1), "(")(0), ",", ""))
            listkhoi = Split(Split(listmon(i1), "(")(1), ",")
            For j = LBound(listkhoi) To UBound(listkhoi)
                If Len(listkhoi(j)) > 1 Then
                    khoihoc = Val(Left(Trim(listkhoi(j)), 1))
                    For c = 2 To UBound(bangtt, 2)
                        If bangtt(1, c) = monhoc Then
                            For r = 2 To UBound(bangtt)
                                If bangtt(r, 1) = khoihoc Then
                                    ar(i, 2) = ar(i, 2) + bangtt(r, c)
                                    Exit For
                                End If
                            Next
                        End If
                    Next
                End If
            Next
        Next
    Next
    Range("C3").Resize(UBound(ar), 2) = ar
End Sub
 
Thanks các bác, em chỉ cần kết quả, bằng hàm hay code đều được ạ. Thanks!
Bài đã được tự động gộp:

1 code khác bạn tham khảo
Mã:
Sub tinhtongtiet()
    Dim i%, monhoc$, khoihoc$, bangtt(), lr%, ar(), listmon, listkhoi, i1%, c%, r%, j%
    bangtt = Range("H2:V6").Value2
    lr = Range("C" & Rows.Count).End(3).Row
    ar = Range("C3:D" & lr).Value2
    For i = 1 To UBound(ar)
        ar(i, 2) = 0
        listmon = Split(ar(i, 1), ")")
        For i1 = LBound(listmon) To UBound(listmon) - 1
            monhoc = Trim(Replace(Split(listmon(i1), "(")(0), ",", ""))
            listkhoi = Split(Split(listmon(i1), "(")(1), ",")
            For j = LBound(listkhoi) To UBound(listkhoi)
                If Len(listkhoi(j)) > 1 Then
                    khoihoc = Val(Left(Trim(listkhoi(j)), 1))
                    For c = 2 To UBound(bangtt, 2)
                        If bangtt(1, c) = monhoc Then
                            For r = 2 To UBound(bangtt)
                                If bangtt(r, 1) = khoihoc Then
                                    ar(i, 2) = ar(i, 2) + bangtt(r, c)
                                    Exit For
                                End If
                            Next
                        End If
                    Next
                End If
            Next
        Next
    Next
    Range("C3").Resize(UBound(ar), 2) = ar
End Sub
Cái này có người đúng có người sai bác à
Code bác Bate làm giúp em chạy chuẩn rồi ạ
 
Lần chỉnh sửa cuối:
Thanks các bác, em chỉ cần kết quả, bằng hàm hay code đều được ạ. Thanks!
Bài đã được tự động gộp:


Cái này có người đúng có người sai bác à
Code bác Bate làm giúp em chạy chuẩn rồi ạ
Không biết sai chỗ nào bạn nhỉ. Có 1 điều là trong bảng của bạn có môn "Sinh học" không khớp giữa cột C và bảng số tiết/môn. Theo mình thấy là sai font chữ.
 
Thanks các bác, em chỉ cần kết quả, bằng hàm hay code đều được ạ. Thanks!
Bài đã được tự động gộp:


Cái này có người đúng có người sai bác à
Code bác Bate làm giúp em chạy chuẩn rồi ạ
Không có "Bate" đâu.
Nếu là GV sao lại viết 1 câu "ba rọi", "Tây Ta" lẫn lộn?
'==================================='
Híc!
 
Lần chỉnh sửa cuối:
Em xin lỗi bác Ba Tê nhé! tại văn nói và viết giờ nó lẫn lộn, hihi
Bài đã được tự động gộp:

Không biết sai chỗ nào bạn nhỉ. Có 1 điều là trong bảng của bạn có môn "Sinh học" không khớp giữa cột C và bảng số tiết/môn. Theo mình thấy là sai font chữ.
Sorry bác, hôm qua em chạy nó báo sai, hôm nay chạy lại thấy kết quả đúng, chắc hôm qua em nhầm chỗ nào đấy.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom