Nhờ các bạn hướng dẫn cách thống kê số giờ dạy có xếp loại của giáo viên

  • Thread starter Thread starter dvu58
  • Ngày gửi Ngày gửi
Liên hệ QC

dvu58

Thành viên thường trực
Tham gia
29/4/07
Bài viết
298
Được thích
378
Tôi có một vấn đề như sau:

Tôi cần thống kê số giờ dạy có xếp loại của giáo viên trong hội thi giáo viên dạy giỏi (kèm theo danh sách và yêu cầu). Tôi không rõ đề tài này đã được nêu và giải quyết trên GPE chưa? Mong các bạn thông cảm và hướng dẫn cách giải quyết hay nhất.

Cảm ơn các bạn nhiều.
DVU58.
 

File đính kèm

Bạn chỉ cần dùng hàm countif là được.
 

File đính kèm

salam đã viết:
Bạn chỉ cần dùng hàm countif là được.

Cảm ơn salam. Nhưng không đúng rồi salam ơi.

VD:
+ Số giáo viên dạy 1 tiết chỉ có 1 người mà bạn countif ra tới 48. Hic!
Trong số 1 người chỉ dạy 1 tiết -> chỉ có 1 tiết loại A thôi!
Reset nhé!
 
dvu58 đã viết:
Tôi có một vấn đề như sau:

Tôi cần thống kê số giờ dạy có xếp loại của giáo viên trong hội thi giáo viên dạy giỏi (kèm theo danh sách và yêu cầu). Tôi không rõ đề tài này đã được nêu và giải quyết trên GPE chưa? Mong các bạn thông cảm và hướng dẫn cách giải quyết hay nhất.

Cảm ơn các bạn nhiều.
DVU58.
Câu hỏi này hay phết!!

VBA được không bác ???
Cảm ơn salam. Nhưng không đúng rồi salam ơi.

VD:
+ Số giáo viên dạy 1 tiết chỉ có 1 người mà bạn countif ra tới 48. Hic!
Trong số 1 người chỉ dạy 1 tiết -> chỉ có 1 tiết loại A thôi!
Reset nhé!

Cái hay ở chỗ là dạy tiết 1 khác với dạy 1 tiết!!


Thân!
 
Mr Okebab đã viết:
Câu hỏi này hay phết!!

VBA được không bác ???

Thân!

Bắp giúp mình cả hai cách đi nhé!
Cách dùng hàm thì tiện hơn, bởi đi đến đâu cũng xử lý được ngay. Đỡ mất công tạo mấy cái code lại.

Cảm ơn bạn đã quan tâm. Thân.
 
Có lẽ nên thêm 1 cột phụ nữa... Ko biết như vầy có đúng ý anh ko?
ANH TUẤN
 

File đính kèm

Lần chỉnh sửa cuối:
anhtuan1066 đã viết:
Có lẽ nên thêm 1 cột phụ nữa... Ko biết như vầy có đúng ý anh ko?
ANH TUẤN

Chào bạn anhtuan1066!

Đúng là mình chưa tìm ra cách nào khác nên cũng đã phải dùng cột phụ. Nhưng mình nghĩ có lẽ sẽ còn cách khác.
Không biết còn cách nào khác gọn hơn không nhỉ?

(Mấy bữa rày đau ốm triền miên, liệt giường (không phải liệt dương đâu nha!), bà xã cấm "chơi" với máy tính. Hôm nay rất vui mừng được gặp lại bạn. Chúc bạn sức khỏe và tiếp tục "tẩu như phi" nhé!)

Thân!
 
To anhtuan1066
Công thức này
=SUMPRODUCT((T_1=N$5)*(CP=1))+SUMPRODUCT((T_2=N$5)*(CP=1))+SUMPRODUCT((T_3=N$5)*(CP=1))
nên rút gọn như sau:
=SUMPRODUCT(((T_1=N$5)+(T_2=N$5)+(T_3=N$5))*(CP=$K6))
Chưa tìm ra cách không dùng cột phụ

Anh Dvu58 thử cách sau thử, không dùng cột phụ, nhưng hơi dài dòng, sẽ nghiên cứu lại sau.
 
Lần chỉnh sửa cuối:
dvu58 đã viết:
Bắp giúp mình cả hai cách đi nhé!
Cách dùng hàm thì tiện hơn, bởi đi đến đâu cũng xử lý được ngay. Đỡ mất công tạo mấy cái code lại.

Cảm ơn bạn đã quan tâm. Thân.

Thật là múa rìu qua mắt thợ, nhưng cũng cố gắng vậy.

Em nghĩ còn cách ngắn hơn nhưng chwa nghĩ ra, mong được chỉ giáo:

PHP:
Function XepLoai(Tiet1 As Range, Tiet2 As Range, Tiet3 As Range, SoTiet As Byte, Optional Loai As String = "") As Integer
    On Error Resume Next
    If Tiet1.Rows.Count <> Tiet2.Rows.Count Or Tiet2.Rows.Count <> Tiet3.Rows.Count Then Exit Function
    Application.Volatile (False)
    Dim i As Integer
    Dim SoLan As Integer
    For i = 1 To Tiet1.Rows.Count
        SoLan = 0
        Select Case SoTiet
        Case 1
            If Tiet1(i) <> 0 And Tiet3(i) = 0 And Tiet2(i) = 0 Then
                If Tiet1(i) = Loai Then SoLan = 1
                GoTo TimThay
            End If

            If Tiet2(i) <> 0 And Tiet1(i) = 0 And Tiet3(i) = 0 Then
                If Tiet2(i) = Loai Then SoLan = 1
                GoTo TimThay
            End If
            If Tiet3(i) <> 0 And Tiet2(i) = 0 And Tiet1(i) = 0 Then
                If Tiet3(i) = Loai Then SoLan = 1
                GoTo TimThay
            End If
        Case 2
            If Tiet1(i) <> 0 And Tiet3(i) <> 0 And Tiet2(i) = 0 Then
                If Tiet1(i) = Loai Then SoLan = 1
                If Tiet3(i) = Loai Then SoLan = SoLan + 1
                GoTo TimThay
            End If

            If Tiet2(i) <> 0 And Tiet1(i) <> 0 And Tiet3(i) = 0 Then
                If Tiet1(i) = Loai Then SoLan = 1
                If Tiet2(i) = Loai Then SoLan = SoLan + 1
                GoTo TimThay
            End If
            If Tiet3(i) <> 0 And Tiet2(i) <> 0 And Tiet1(i) = 0 Then
                If Tiet2(i) = Loai Then SoLan = 1
                If Tiet3(i) = Loai Then SoLan = SoLan + 1
                GoTo TimThay
            End If
        Case 3
            If Tiet1(i) <> 0 And Tiet2(i) <> 0 And Tiet3(i) <> 0 Then
                If Tiet1(i) = Loai Then SoLan = 1
                If Tiet2(i) = Loai Then SoLan = SoLan + 1
                If Tiet3(i) = Loai Then SoLan = SoLan + 1
                GoTo TimThay
            End If
        End Select
        GoTo Tiep
TimThay:
        XepLoai = XepLoai + IIf(Loai = "", 1, SoLan)
Tiep:
    Next
End Function

Thân!
 

File đính kèm

He... he... Tất nhiên là phải có cách khác ko dùng cột phụ chứ...
Tôi đặt thêm 1 name nữa:
Mã:
TIET = T_1&T_2&T_3
Dùng LEN đễ xem TIET có bao nhiêu ký tự (Tương đương với COUNTA)
Xem file nhé!
ANH TUẤN
 

File đính kèm

Cảm ơn tất cả các bạn.... vì đối với mình thì trên cả tuyệt vời rồi! Nhiều ý tưởng hay quá!
Chắc vẫn còn tiếp...

Cảm ơn, cảm ơn và ... cảm ơn...
 
Web KT

Bài viết mới nhất

Back
Top Bottom