Dò dữ liệu theo màu cộng ô tương ứng

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

love4u

Thành viên mới
Tham gia
7/11/09
Bài viết
8
Được thích
1
Tôi có một vấn đề sau cần giải quyết tương tự ví dụ đưa ra: khi nhập điểm môn học, học sinh thi lại môn học giáo viên chỉ cần đánh dấu ô bắng màu bất kỳ, kết quả tại ô tổng kết số đơn vị học trình thi lại được cộng từ các ô chứa đơn vị học trình trên cột tương ứng, bằng cách dò theo màu đã đánh dấu, xin xem hình minh hoạ. Rất mong được các bạn hướng dẫn cách giải quyết.(đã tham khảo qua các hàm colorfonts, colorboder nhưng không rành về code nên không biết sủa thế nào.) Xin cảm ơn.
 

File đính kèm

  • EXCEL.jpg
    EXCEL.jpg
    80 KB · Đọc: 69

Cảm ơn bạn đã quan tâm đến vấn đề của mình, những cách giải quyết về màu sắc mình đã tham khảo qua nhưng chưa thấy cái nào phù hợp. Rất mong các bạn có kinh nghiệm trợ giúp, xin cảm ơn.
 
Cảm ơn bạn đã quan tâm đến vấn đề của mình, những cách giải quyết về màu sắc mình đã tham khảo qua nhưng chưa thấy cái nào phù hợp. Rất mong các bạn có kinh nghiệm trợ giúp, xin cảm ơn.
Thì ít nhất bạn cũng phải đưa file của bạn lên đây chứ
Hic... Đợi nhắc hoài
 
Tranh thủ lúc hắn đang vắng bóng, khà, khà,. . .

Nội dung hàm đó như thế này:
PHP:
Option Explicit
Function GPECountIF(HK1 As Range, Optional HK2 As Range)
 Dim Cls As Range
 
 If Not HK2 Is Nothing Then Set HK1 = Union(HK1, HK2)
 For Each Cls In HK1
   If Cls.Interior.ColorIndex > 2 Then GPECountIF = GPECountIF + 1
 Next Cls
End Function
Bạn copy toàn bộ đến module 1 của file;

Cú fáp hàm tại [AF7] sẽ làL =GPECountIf(D7:O7,R7:AA7)

Sau đó dùng FillDown chép xuống đến dòng cuối

Những mong là khỏi đưa file lên & chúc bạn nhiều thành công!
 
Xin cảm ơn bạn! vấn đề của tôi không phải đếm các ô được tô màu mà là cộng các đơn vị học trình ứng với các ô được tô màu để biết trong học kì đó học sinh A nào đó có bao nhiêu ĐV học trình đã thi lại hoặc phải thi lại (vấn đề được mô tả ở hình post đầu tiên). Cảm ơn bạn đã quan tâm giúp đỡ, mong bạn sẽ giúp thêm.
Nhân tiện cho tôi hỏi luôn có cách nào hoặc hàm có thể tính điểm TBC được nhanh hơn không chứ tôi làm thủ công rất cực, chỉ sợ bấm nhầm ô.
 
Lần chỉnh sửa cuối:
Xin cảm ơn bạn! vấn đề của tôi không phải đếm các ô được tô màu mà là cộng các đơn vị học trình ứng với các ô được tô màu để biết trong học kì đó học sinh A nào đó có bao nhiêu ĐV học trình đã thi lại hoặc phải thi lại (vấn đề được mô tả ở hình post đầu tiên). Cảm ơn bạn đã quan tâm giúp đỡ, mong bạn sẽ giúp thêm.
Nhân tiện cho tôi hỏi luôn có cách nào hoặc hàm có thể tính điểm TBC được nhanh hơn không chứ tôi làm thủ công rất cực, chỉ sợ bấm nhầm ô.
Theo hình thì Hs nào thi lại trên 1 môn thì lấy môn đầu???
Bạn thử code này
Mã:
Public Function diem(Vung, Mon)
    Dim I As Integer, Tam
        Application.Volatile
            For I = 1 To 24
                If Vung(I).Interior.ColorIndex <> 2 Then
                    Tam = Mon(I)
                    Exit For
                End If
            Next
    diem = Tam
End Function
Cú pháp: [AF7]=diem(D7:AA7,$D$6:$AA$6)
Tính điểm trung bình học kỳ 1
=ROUND(SUMPRODUCT($D$6:$O$6,D7:O7)/SUM(($D$6:$O$6)*(D7:O7<>"")),1)
Kết thúc Ctrl + Shift + Enter
Hihi thay sum bằng Sumproduct khỏi sử dụng mảng (sao mình ngu wa)
=ROUND(SUMPRODUCT($D$6:$O$6,D7:O7)/SUMPRODUCT(($D$6:$O$6)*(D7:O7<>"")),1)
 
Lần chỉnh sửa cuối:
Cảm ơn bạn concogia hàm sumproduct của bạn quả là hiệu nghiệm "hayyyyyyyy yếu cái j thì chết cái đó..... bể học vô tận, quay đầu là bờ..." tuy nhiên nhờ bạn xem hộ lại phần code của bạn giúp mình không thực hiện được bạn ah. Vấn đề của mình là mỗi môn học có số đơn vị học trình tương ứng, khi học sinh thi lại môn học điểm từ 5 trở lên thì qua nhưng giáo viên sẽ ghi nhận lại tại ô chứa điểm thi lại đó bằng một màu nào đó. Tại ô thống kê số đơn vị HT thi lại sẽ cộng số đơn vị HT mà học sinh thi lại dựa vào màu ô và số dơn vị học trình tương ứng với môn (ngay dưới tên môn học có đơn vị học trình).
 
Cảm ơn bạn concogia hàm sumproduct của bạn quả là hiệu nghiệm "hayyyyyyyy yếu cái j thì chết cái đó..... bể học vô tận, quay đầu là bờ..." tuy nhiên nhờ bạn xem hộ lại phần code của bạn giúp mình không thực hiện được bạn ah. Vấn đề của mình là mỗi môn học có số đơn vị học trình tương ứng, khi học sinh thi lại môn học điểm từ 5 trở lên thì qua nhưng giáo viên sẽ ghi nhận lại tại ô chứa điểm thi lại đó bằng một màu nào đó. Tại ô thống kê số đơn vị HT thi lại sẽ cộng số đơn vị HT mà học sinh thi lại dựa vào màu ô và số dơn vị học trình tương ứng với môn (ngay dưới tên môn học có đơn vị học trình).
Híc. thú thật với bạn mình chẳng biết cách lấy kết quả ra mần răng nữa, chỉ nhìn hình minh họa của bạn rồi đoán là thế này:
- Cứ "thằng" nào bị tô màu thì từ "thằng" đó đi ngược lên tới dòng 6 thì lấy giá trị trong cell đó.
- Nếu một hàng mà có 2 ,3 "thằng" bị tô màu trở lên thì lấy "thằng" màu đầu tiên
Thấy hình làm sao thì làm "zị', thử trong bài đúng kết quả như hình thôi chứ
Còn nếu ý bạn muốn kết quả ra sao thì bạn thử "quánh" vào chừng 5, 7 cell trong file của bạn để mình........đoán mò tiếp
Híc
 
mình nghĩ hình rất rõ mà bạn, ví vụ em A thi lại Môn 1, số ĐVHT thi lại là 5, nếu em A thi lại tất cả các môn, thì tất cả các ô đều bị đánh dấu và số DVHT thi lại là: 17.
Ví dụ em C thi lại Môn 2 và Môn 4 số DVHT thi lại là 7.
 
mình nghĩ hình rất rõ mà bạn, ví vụ em A thi lại Môn 1, số ĐVHT thi lại là 5, nếu em A thi lại tất cả các môn, thì tất cả các ô đều bị đánh dấu và số DVHT thi lại là: 17.
Ví dụ em C thi lại Môn 2 và Môn 4 số DVHT thi lại là 7.
Trời ơi là trời :.,:.,:.,
EXCEL.jpg
Trong hình của bạn em C có 2 ô màu, bạn ghi kết quả là 6 ( H5=5, H6=2 , H7=6 ) ==> sao "bi" giờ ghi là 7 ==> ngộ "zị"
Híc, bạn xem trong file thử nhé
Nếu có tô thêm hoặc xóa bớt màu thì bấm F9 nhé
Thân
 

File đính kèm

+-+-+-+ ghi nhầm ghi nhầm....hii.....Cảm ơn bạn rất nhiều, vấn đề đã được bạn giải quyết, một lần nữa chân thành cảm ơn bạn, lần sau có gì khúc mắc xin được bạn chỉ giáo thêm. Chúc bạn luôn khoẻ và thành công.
 
Bạn concogia thân! file bạn giúp đã giải quyết rất tốt vấn đề của mình, tuy nhiên khi GV đánh dấu nhầm môn thi lại trả lại màu nền thì hàm vẫn thực hiện việc cộng đơn vị học trình(sau khi nhấn F9) được mong bạn giúp tiếp cho. Cảm ơn bạn
 
Bạn concogia thân! file bạn giúp đã giải quyết rất tốt vấn đề của mình, tuy nhiên khi GV đánh dấu nhầm môn thi lại trả lại màu nền thì hàm vẫn thực hiện việc cộng đơn vị học trình(sau khi nhấn F9) được mong bạn giúp tiếp cho. Cảm ơn bạn
Trong file của bạn từ ban đầu màu nền là màu TRẮNG chứ không phải auto, vì vậy khi nhầm giáo viên phải trả lại ô đó là MÀU TRẮNG
Thân
 
Trong file của bạn từ ban đầu màu nền là màu TRẮNG chứ không phải auto, vì vậy khi nhầm giáo viên phải trả lại ô đó là MÀU TRẮNG
Thân
Anh cũng có thể sửa code anh 1 chút
Sửa chổ này:
If Vung(I).Interior.ColorIndex <> 2 Then
thành
If Vung(I).Interior.ColorIndex <> 2 And Vung(I).Interior.ColorIndex <> xlNone Then
là xong
 
Web KT

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

Back
Top Bottom